# Ruby-debug does not hit breakpoints at class-methods

**URL:** <https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033>\
**Category:** ruby-talk\
**Created:** [22 August 2009 22:52 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033 "2009-08-22T22:52:55Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sys\_Ppp](https://avatars.discourse-cdn.com/v4/letter/s/87869e/32.png) [@Sys\_Ppp](https://rubytalk.org/u/Sys_Ppp)\
**Post date:** [22 August 2009 22:52 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/1 "2009-08-22T22:52:55Z")

</div>

ruby-1.8.6-p369  
ruby-debug-0.10.3

How to set breakpoints at class-methods without editing source of  
library files? And without line numbers?

$ cat test.rb  
require 'ruby-debug'

class Aaa  
&nbsp;&nbsp;def self.cl\_aaa  
&nbsp;&nbsp;&nbsp;&nbsp;puts 'A A A'  
&nbsp;&nbsp;end  
&nbsp;&nbsp;def initialize  
&nbsp;&nbsp;&nbsp;&nbsp;@aaa = 'a a a'  
&nbsp;&nbsp;end  
&nbsp;&nbsp;def aaa  
&nbsp;&nbsp;&nbsp;&nbsp;puts @aaa  
&nbsp;&nbsp;end  
end

debugger

a = Aaa.new  
Aaa.cl\_aaa  
a.aaa

$ ruby test.rb  
\< or \>  
$ rdebug test.rb  
test.rb:\<lineno of debugger\>  
a = Aaa.new  
(rdb:1) b Aaa:cl\_aaa  
Breakpoint 1 at Aaa::cl\_aaa  
(rdb:1) b Aaa:aaa  
Breakpoint 2 at Aaa::aaa

(rdb:1) i b  
Num Enb What  
&nbsp;&nbsp;1 y at Aaa:cl\_aaa  
&nbsp;&nbsp;2 y at Aaa:aaa

(rdb:1) cont  
A A A  
Breakpoint 2 at Aaa:aaa  
test.rb:\<lineno of 'def aaa'\>  
def aaa

(rdb:1) i b  
Num Enb What  
&nbsp;&nbsp;1 y at Aaa:cl\_aaa  
&nbsp;&nbsp;2 y at Aaa:aaa  
&nbsp;&nbsp;breakpoint already hit 1 time  
(rdb:1) cont  
a a a  
$

The same result if it was used '#' or '.' instead of ':', i.e.  
'Class#method' or 'Class.method'.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![7stud](https://avatars.discourse-cdn.com/v4/letter/7/57b2e6/32.png) [@7stud](https://rubytalk.org/u/7stud)\
**Post date:** [23 August 2009 08:36 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/2 "2009-08-23T08:36:20Z")

</div>

...and more

$ ruby -v  
ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.11.1]

$ rdebug -v  
ruby-debug 0.10.3

> **···**
>
> -----------  
> require 'rubygems'  
> require 'ruby-debug'
> 
> class A  
> &nbsp;&nbsp;def initialize  
> &nbsp;&nbsp;end
> 
> &nbsp;&nbsp;def sayhi #line 8  
> &nbsp;&nbsp;&nbsp;&nbsp;puts "hello"  
> &nbsp;&nbsp;end
> 
> &nbsp;&nbsp;def A.show  
> &nbsp;&nbsp;&nbsp;&nbsp;puts "A"  
> &nbsp;&nbsp;end  
> end
> 
> a = A.new  
> A.show  
> a.sayhi  
> -----------------
> 
> $ rdebug r2test.rb  
> /Users/me/2testing/dir1/r2test.rb:1  
> require 'rubygems'
> 
> (rdb:1) break A.show  
> \*\*\* Unknown class A.
> 
> (rdb:1) break 8  
> Breakpoint 1 file /Users/me/2testing/dir1/r2test.rb, line 8
> 
> (rdb:1) continue  
> Breakpoint 1 at r2test.rb:8  
> /Users/me/2testing/dir1/r2test.rb:8  
> def sayhi
> 
> (rdb:1) break A.show  
> Breakpoint 2 at A::show
> 
> (rdb:1) continue  
> A  
> hello  
> $  
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![Caleb\_Clausen1](https://avatars.discourse-cdn.com/v4/letter/c/8dc957/32.png) [@Caleb\_Clausen1](https://rubytalk.org/u/Caleb_Clausen1)\
**Post date:** [24 August 2009 03:34 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/3 "2009-08-24T03:34:53Z")

</div>

My recollection is that ruby-debug does not allow setting breakpoints  
by method name. For that, you need to use the older debug.rb (in  
ruby's stdlib). Add -rdebug to the command line when you start the  
interpreter. And you have to put up with the much slower performance  
of debug.rb. (Often than doesn't matter, tho.)

> **···**
>
> On 8/22/09, Sys Ppp \<systemppp@gmail.com\> wrote:
> 
> > ruby-1.8.6-p369  
> > ruby-debug-0.10.3
> > 
> > How to set breakpoints at class-methods without editing source of  
> > library files? And without line numbers?

---

<div class="post-metadata">

**Author:** ![Sys\_Ppp](https://avatars.discourse-cdn.com/v4/letter/s/87869e/32.png) [@Sys\_Ppp](https://rubytalk.org/u/Sys_Ppp)\
**Post date:** [23 August 2009 09:34 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/4 "2009-08-23T09:34:14Z")

</div>

> $ rdebug r2test.rb  
> /Users/me/2testing/dir1/r2test.rb:1  
> require 'rubygems'
> 
> (rdb:1) break A.show  
> \*\*\* Unknown class A.

It is normal. Because class A is not defined at this point yet. In case  
when rdebug is lauched, it stops at the first line. But it is possible  
to set break at any line of source by line number.

But why ruby-debug does not stop at class-methods when class is already  
loaded, though it stops at instance-methods?

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![7stud](https://avatars.discourse-cdn.com/v4/letter/7/57b2e6/32.png) [@7stud](https://rubytalk.org/u/7stud)\
**Post date:** [24 August 2009 02:52 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/5 "2009-08-24T02:52:38Z")

</div>

Sys Ppp wrote:

> > $ rdebug r2test.rb  
> > /Users/me/2testing/dir1/r2test.rb:1  
> > require 'rubygems'
> > 
> > (rdb:1) break A.show  
> > \*\*\* Unknown class A.
> 
> It is normal. Because class A is not defined at this point yet. In case  
> when rdebug is lauched, it stops at the first line. But it is possible  
> to set break at any line of source by line number.

In your opinion, what does the rest of the debug session do?

> But why ruby-debug does not stop at class-methods when class is already  
> loaded, though it stops at instance-methods?

The debugger won't stop at instance methods for me:

> **···**
>
> -------  
> require 'rubygems'  
> require 'ruby-debug'
> 
> class A  
> &nbsp;&nbsp;def initialize  
> &nbsp;&nbsp;end
> 
> &nbsp;&nbsp;def A.show  
> &nbsp;&nbsp;&nbsp;&nbsp;puts "A"  
> &nbsp;&nbsp;end
> 
> &nbsp;&nbsp;def sayhi  
> &nbsp;&nbsp;&nbsp;&nbsp;puts "hello"  
> &nbsp;&nbsp;end  
> end
> 
> debugger  
> puts "pausing here"
> 
> a = A.new  
> a.sayhi  
> A.show  
> ----------
> 
> $ ruby r2test.rb  
> r2test.rb:18  
> puts "pausing here"
> 
> (rdb:1) break a.sayhi  
> \*\*\* Unknown class a.
> 
> (rdb:1) break sayhi  
> \*\*\* Invalid breakpoint location: sayhi.  
> (rdb:1)  
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![7stud](https://avatars.discourse-cdn.com/v4/letter/7/57b2e6/32.png) [@7stud](https://rubytalk.org/u/7stud)\
**Post date:** [24 August 2009 03:02 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/6 "2009-08-24T03:02:17Z")

</div>

...or I guess this would be a better example:

> **···**
>
> ----------  
> require 'rubygems'  
> require 'ruby-debug'
> 
> class A  
> &nbsp;&nbsp;def initialize  
> &nbsp;&nbsp;end
> 
> &nbsp;&nbsp;def A.show  
> &nbsp;&nbsp;&nbsp;&nbsp;puts "A"  
> &nbsp;&nbsp;end
> 
> &nbsp;&nbsp;def sayhi  
> &nbsp;&nbsp;&nbsp;&nbsp;puts "hello"  
> &nbsp;&nbsp;end  
> end
> 
> a = A.new
> 
> debugger  
> puts "pausing here"
> 
> puts "hello"  
> puts "world"
> 
> a.sayhi  
> A.show
> 
> puts "the end"  
> -----------
> 
> $ ruby r2test.rb  
> r2test.rb:21  
> puts "pausing here"
> 
> (rdb:1) list  
> [16, 25] in r2test.rb  
> &nbsp;&nbsp;&nbsp;16  
> &nbsp;&nbsp;&nbsp;17  
> &nbsp;&nbsp;&nbsp;18 a = A.new  
> &nbsp;&nbsp;&nbsp;19  
> &nbsp;&nbsp;&nbsp;20 debugger  
> =\> 21 puts "pausing here"  
> &nbsp;&nbsp;&nbsp;22  
> &nbsp;&nbsp;&nbsp;23 puts "hello"  
> &nbsp;&nbsp;&nbsp;24 puts "world"  
> &nbsp;&nbsp;&nbsp;25
> 
> (rdb:1) break a.sayhi  
> \*\*\* Unknown class a.
> 
> (rdb:1) break sayhi  
> \*\*\* Invalid breakpoint location: sayhi.
> 
> (rdb:1) break A.show  
> Breakpoint 1 at A::show
> 
> (rdb:1) continue  
> pausing here  
> hello  
> world  
> hello  
> A  
> the end
> 
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![Sys\_Ppp](https://avatars.discourse-cdn.com/v4/letter/s/87869e/32.png) [@Sys\_Ppp](https://rubytalk.org/u/Sys_Ppp)\
**Post date:** [24 August 2009 03:50 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/7 "2009-08-24T03:50:37Z")

</div>

To 7stud. These are all normal, except class-method, as i wrote.

In you example 'a.sayhi' and especially 'sayhi' - is not correct  
refernces to instance metod. But 'A.sayhi' is it. Or 'A:sayhi', or  
'A#sayhi'.

You should better understand the difference between class and instanse  
methods.

It is all ok. Except subject of these posts.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![Rick\_DeNatale1](https://avatars.discourse-cdn.com/v4/letter/r/bbce88/32.png) [@Rick\_DeNatale1](https://rubytalk.org/u/Rick_DeNatale1)\
**Post date:** [24 August 2009 12:16 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/8 "2009-08-24T12:16:35Z")

</div>

> To 7stud. These are all normal, except class-method, as i wrote.
> 
> In you example 'a.sayhi' and especially 'sayhi' - is not correct  
> refernces to instance metod. But 'A.sayhi' is it. Or 'A:sayhi', or  
> 'A#sayhi'.
> 
> You should better understand the difference between class and instanse  
> methods.
> 
> It is all ok. Except subject of these posts.

I don't know about rdebug in this case (I can't remember trying to set  
breakpoints on method names, I usually just use the line number or set  
the breakpoint in textmate using the rubyamp bundle), but normal  
nomenclature, given a class A

A#meth - refers to an instance method of A

This is what RI uses. RI also appears to accept

A.meth

which will give documentation on an instance method named meth is A  
has one, or if not a class method named meth if there is one.

For example ri IO.read gives info on IO#read (IO has both IO::read  
and IO#read), while IO.select gives info on IO::select

And RI doesn't appear to understand A:meth

> **···**
>
> On Sun, Aug 23, 2009 at 11:50 PM, Sys Ppp\<systemppp@gmail.com\> wrote:  
> A::meth - refers to a class method of A (note the double colon)
> 
> --  
> Rick DeNatale
> 
> Blog: [http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)  
> Twitter: [http://twitter.com/RickDeNatale](http://twitter.com/RickDeNatale)  
> WWR: [http://www.workingwithrails.com/person/9021-rick-denatale](http://www.workingwithrails.com/person/9021-rick-denatale)  
> LinkedIn: [http://www.linkedin.com/in/rickdenatale](http://www.linkedin.com/in/rickdenatale)

---

<div class="post-metadata">

**Author:** ![Sys\_Ppp](https://avatars.discourse-cdn.com/v4/letter/s/87869e/32.png) [@Sys\_Ppp](https://rubytalk.org/u/Sys_Ppp)\
**Post date:** [24 August 2009 13:23 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/9 "2009-08-24T13:23:35Z")

</div>

Rick Denatale wrote:

> I don't know about rdebug in this case (I can't remember trying to set  
> breakpoints on method names, I usually just use the line number or set  
> the breakpoint in textmate using the rubyamp bundle), but normal  
> nomenclature, given a class

> A#meth - refers to an instance method of A  
> A::meth - refers to a class method of A (note the double colon)
> 
> This is what RI uses. RI also appears to accept
> 
> A.meth
> 
> which will give documentation on an instance method named meth is A  
> has one, or if not a class method named meth if there is one.
> 
> For example ri IO.read gives info on IO#read (IO has both IO::read  
> and IO#read), while IO.select gives info on IO::select
> 
> And RI doesn't appear to understand A:meth

I know about conventions. And know about theoretical difference between  
class and instance methods. And also know that rdebug does not fully  
correspond these lexical conventions.

But this case in point is technical aspects of rdebug. Though I do not  
say anything against possibility of better syntax.

As it is seen, when during setting breakpoint it is pointed to some  
class and some method (no matter in which syntax), rdebug at runtime  
checks the class existing and just remembers the method name for later  
binding without checking.

The problem is what later rdebug searches the method only in the  
dictionary of instance methods of the class, but neither of  
class-methods nor in dictionary singleton methods. I do not know how  
these dictionaries are realized, I just see the fact.

I suppose what class methods and singleton methods of class-object are  
the same things.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Sys\_Ppp](https://avatars.discourse-cdn.com/v4/letter/s/87869e/32.png) [@Sys\_Ppp](https://rubytalk.org/u/Sys_Ppp)\
**Post date:** [24 August 2009 15:27 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/10 "2009-08-24T15:27:08Z")

</div>

Oh. It makes something more clear.

[http://www.ruby-doc.org/core/classes/Class.html](http://www.ruby-doc.org/core/classes/Class.html)  
Google: "ruby metaclasses".  
[http://www.klankboomklang.com/2007/10/05/the-metaclass/](http://www.klankboomklang.com/2007/10/05/the-metaclass/)  
[http://vision-media.ca/resources/ruby/understanding-ruby-metaclasses](http://vision-media.ca/resources/ruby/understanding-ruby-metaclasses)

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![Mark\_Moseley](https://avatars.discourse-cdn.com/v4/letter/m/d9b06d/32.png) [@Mark\_Moseley](https://rubytalk.org/u/Mark_Moseley)\
**Post date:** [24 August 2009 17:53 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/11 "2009-08-24T17:53:01Z")

</div>

Fixed in ruby-debug 1.9 (although it hasn't uploaded yet; GitHub is  
pretty slow today). I've also submitted a patch to RubyForge for 1.8.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![7stud](https://avatars.discourse-cdn.com/v4/letter/7/57b2e6/32.png) [@7stud](https://rubytalk.org/u/7stud)\
**Post date:** [24 August 2009 18:25 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/12 "2009-08-24T18:25:58Z")

</div>

Mark Moseley wrote:

> Fixed in ruby-debug 1.9 (although it hasn't uploaded yet; GitHub is  
> pretty slow today). I've also submitted a patch to RubyForge for 1.8.

I'm curious: if the feature is valuable, why not make it more general  
and have break stop at a match to a specified string or a regex, for  
example:

break "a.sayhi"

or

break /a\.sayhi/

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Mark\_Moseley](https://avatars.discourse-cdn.com/v4/letter/m/d9b06d/32.png) [@Mark\_Moseley](https://rubytalk.org/u/Mark_Moseley)\
**Post date:** [24 August 2009 18:36 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/13 "2009-08-24T18:36:21Z")

</div>

7stud -- wrote:

> Mark Moseley wrote:
> 
> > Fixed in ruby-debug 1.9 (although it hasn't uploaded yet; GitHub is  
> > pretty slow today). I've also submitted a patch to RubyForge for 1.8.
> 
> I'm curious: if the feature is valuable, why not make it more general  
> and have break stop at a match to a specified string or a regex, for  
> example:
> 
> break "a.sayhi"
> 
> or
> 
> break /a\.sayhi/

Well, that's certainly possible, but at first glance, that to me looks  
like feature-itis. IOW, I don't know that it's terribly useful, and it  
might tend to confuse users. I could be wrong.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Sys\_Ppp](https://avatars.discourse-cdn.com/v4/letter/s/87869e/32.png) [@Sys\_Ppp](https://rubytalk.org/u/Sys_Ppp)\
**Post date:** [24 August 2009 18:53 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/14 "2009-08-24T18:53:51Z")

</div>

Mark Moseley wrote:

> Well, that's certainly possible, but at first glance, that to me looks  
> like feature-itis. IOW, I don't know that it's terribly useful, and it  
> might tend to confuse users. I could be wrong.

Is it possible to make so that one can set breakpoints at any Method or  
Proc instance, or at any object with "breakable" interface at all?

It may be to make two modes of debugger for ordinary and experienced  
users.

Or else it will not be known, is it needed or not, until someone will be  
able to play with it. Only practice may show it, if someone will get  
this freedom.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Sys\_Ppp](https://avatars.discourse-cdn.com/v4/letter/s/87869e/32.png) [@Sys\_Ppp](https://rubytalk.org/u/Sys_Ppp)\
**Post date:** [24 August 2009 19:04 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/15 "2009-08-24T19:04:53Z")

</div>

It is very useful when there are many dynamically generated code-objects  
and source code does not exist.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![Mark\_Moseley](https://avatars.discourse-cdn.com/v4/letter/m/d9b06d/32.png) [@Mark\_Moseley](https://rubytalk.org/u/Mark_Moseley)\
**Post date:** [24 August 2009 19:27 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/16 "2009-08-24T19:27:57Z")

</div>

Sys Ppp wrote:

> It is very useful when there are many dynamically generated code-objects  
> and source code does not exist.

OK, I can see that. Please open a feature request at:  
[http://rubyforge.org/projects/ruby-debug19/](http://rubyforge.org/projects/ruby-debug19/)

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Sys\_Ppp](https://avatars.discourse-cdn.com/v4/letter/s/87869e/32.png) [@Sys\_Ppp](https://rubytalk.org/u/Sys_Ppp)\
**Post date:** [24 August 2009 20:17 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/17 "2009-08-24T20:17:49Z")

</div>

> OK, I can see that. Please open a feature request at:  
> [http://rubyforge.org/projects/ruby-debug19/](http://rubyforge.org/projects/ruby-debug19/)

Thank you for your attention. I shall have done it as soon as I can. I  
shall have tryed to better formulate the request.

Unfortunately, on my distro they have not yet made friendship between  
1.8 and 1.9, rubygems conflicts ☹ And I am depending on 1.8 now. So I  
shall not have been able to test it on 1.9 at nearly time.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Mark\_Moseley](https://avatars.discourse-cdn.com/v4/letter/m/d9b06d/32.png) [@Mark\_Moseley](https://rubytalk.org/u/Mark_Moseley)\
**Post date:** [24 August 2009 20:24 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/18 "2009-08-24T20:24:51Z")

</div>

Sys Ppp wrote:

> Unfortunately, on my distro they have not yet made friendship between  
> 1.8 and 1.9, rubygems conflicts ☹ And I am depending on 1.8 now. So I  
> shall not have been able to test it on 1.9 at nearly time.

A backport to 1.8 might be possible; hard to say at this point.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Sys\_Ppp](https://avatars.discourse-cdn.com/v4/letter/s/87869e/32.png) [@Sys\_Ppp](https://rubytalk.org/u/Sys_Ppp)\
**Post date:** [24 August 2009 20:57 UTC](https://rubytalk.org/t/ruby-debug-does-not-hit-breakpoints-at-class-methods/55033/19 "2009-08-24T20:57:36Z")

</div>

Ok. I shall have practised in it anyway, because it is needed to me.  
Just a little shall learn tracing interface of objects. I think it must  
be an elegant solution without any hack. Or else why does tracing  
interface need, if it is not used completely by debugger.

I can't write on Python anymore after I have known Ruby better 🙂

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).
