discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: question for gdb users...


From: David Chisnall
Subject: Re: question for gdb users...
Date: Thu, 24 Sep 2009 10:26:32 +0100

I don't object to removing this syntax.  If I do

break [MyClass foo]

At the moment gdb spams me with a load of 'failed to resolve breakpoint 1' warnings every time the program starts until it finally finds one. It then, usually, finds the right one, but often puts the breakpoint somewhere random. If I break on a C function name that is also an Objective-C method name then it has a habit of infinite looping asking me if I really want to insert the breakpoint there. This is so common that I now use line numbers rather than symbolic breakpoints in C code (and to break on a specific instance of a method) because it's the only way that actually works.

The only reliable way I've found of breaking on every message send to a -foo method is:

break objc_msg_send
print sel_get_uid("foo")
0x00000f00
condition 1 op==0x00000f00

Some shorthand syntax that generated the equivalent of this sequence would be useful (you need the extra sel_get_uid() step because otherwise message sends become painfully slow).

David

On 24 Sep 2009, at 04:40, Matt Rice wrote:

there is some discussion here about removing the convenience mechanism
that allows
you to go

break foo
where foo then turns into -[class foo]

this causes lots of issues which are fairly hard to fix in gdb,
which is why the whole 'break main' with recent gdb causes issues. because of
[NSThread main].

if you guys opposed to it please let me know and I will relay it into
the gdb thread,
I for one wasn't even aware of this feature until it started causing problems

http://sourceware.org/ml/gdb-patches/2009-09/msg00734.html
here is the thread.


_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep





reply via email to

[Prev in Thread] Current Thread [Next in Thread]