# Automatic trace utility

**URL:** <https://www.ruby-forum.com/t/automatic-trace-utility/49455>\
**Category:** Ruby\
**Created:** [December 4, 2005, 9:16pm UTC](https://www.ruby-forum.com/t/automatic-trace-utility/49455 "2005-12-04T21:16:56Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![kyku](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/34f0e0/32.png) [@kyku](https://www.ruby-forum.com/u/kyku)\
**Post date:** [December 4, 2005, 9:16pm UTC](https://www.ruby-forum.com/t/automatic-trace-utility/49455/1 "2005-12-04T21:16:56Z")

</div>

Hi All,

Recently I’m writing lots of recursive functions that I’d like to test  
by examining their backtraces. I wonder if something like the following  
is possible:

def foo (x, y, z)  
trace if $DEBUG

# …

end

foo(1,2,3)  
“trace: foo (1,2,3) called”

The trace function would have to figure out function’s name and list  
arguments. If someone has some ideas, please let me know. Thanks in  
anticipation.

---

<div class="post-metadata">

**Author:** ![kyku](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/34f0e0/32.png) [@kyku](https://www.ruby-forum.com/u/kyku)\
**Post date:** [December 4, 2005, 10:05pm UTC](https://www.ruby-forum.com/t/automatic-trace-utility/49455/2 "2005-12-04T22:05:53Z")

</div>

There’s #set\_trace\_func built-in to Ruby. Or for a more complete  
solution try Calibre’s TracePoint. (see Rubyforge)

HTH,  
T.

---

<div class="post-metadata">

**Author:** ![kyku](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/34f0e0/32.png) [@kyku](https://www.ruby-forum.com/u/kyku)\
**Post date:** [December 5, 2005, 12:26pm UTC](https://www.ruby-forum.com/t/automatic-trace-utility/49455/3 "2005-12-05T12:26:08Z")

</div>

In message [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid), Kyku [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes

> The trace function would have to figure out function’s name and list  
> arguments.

Ruby Bug Validator does all of the above and can apply filters and also  
colour highlight items of interest that you select based on keywords.

```
    http://www.softwareverify.com

```

Stephen

---

<div class="post-metadata">

**Author:** ![kyku](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/34f0e0/32.png) [@kyku](https://www.ruby-forum.com/u/kyku)\
**Post date:** [December 5, 2005, 12:46pm UTC](https://www.ruby-forum.com/t/automatic-trace-utility/49455/4 "2005-12-05T12:46:24Z")

</div>

Dnia niedziela, 4 grudnia 2005 22:03, Trans napisa³:

> There’s #set\_trace\_func built-in to Ruby. Or for a more complete  
> solution try Calibre’s TracePoint. (see Rubyforge)
> 
> HTH,  
> T.

Quite nice, but how about auto-magical tracing of passed arguments.
