Gdb

Russell Shaw rjshaw@netspace.net.au
Thu Oct 26 02:28:00 GMT 2006


Eli Zaretskii wrote:
>>Date: Wed, 25 Oct 2006 23:38:49 +1000
>>From: Russell Shaw <rjshaw@netspace.net.au>
>>CC:  gdb@sourceware.org
>>
>>There are places with long sequences of:
>>
>>   if() {
>>     ...
>>   }
>>
>>   if() {
>>     ...
>>   }
>>
>>   if() {
>>     ...
>>   }
>>
>>Instead of something more rigorous like:
>>
>>   if() {
>>     ...
>>   }
>>   else if {
>>     ...
> 
> These two are not the same.  If you can show us places where the
> conditions are disjoint, i.e. they cannot happen together, please do.
> 
>>When a "run" resets a simple breakpoint, the stack depth is no less
>>than 35 levels.
> 
> That is not necessarily a sign of bad design.  For example, when Emacs
> does garbage collection, the stack depth sometimes exceeds 10,000
> levels when recursive data structures are marked.  That is normal and
> by design.

The slowness and size of emacs put me off it. I use (g)vim because
editing using ex regex commands is a more direct way at doing things imho.

>>It also invokes a tortuous 10-level trip thru various
>>"memory set" functions until it eventually reaches target_xfer_partial or whatever,
>>intermingled with re-reading symbol files, re-syncing dynamic libraries, and
>>resetting breakpoints.
> 
> This multi-level trip is mostly for valid reasons.

It still seems excessive at the way it currently works, but i'll look at it
again another time.

>>It's undoable by anyone not intimately familiar with the code which means
>>weeks of prodding with a second gdb.
> 
> That is a wild exaggeration, IMO.  When I first came to hack GDB to
> submit a patch, it was no harder than in any other real-life program.
> 
> Perhaps you lack good tools for learning programs, or don't use them
> to their full power.

I just use ctags to navigate in gvim.

I've been going to make a new GUI frontend for gdb but i keep getting
blocked by bugs in other tools.



More information about the Gdb mailing list