On 8 Apr 2000, Lars Clausen wrote:
> I've started work on the Polygon standard object. It's in CVS, but
> unstable as hell (shouldn't disturb any other work, though). I'd like to
> hear what other people have used to debug objects/* crashes -- I can't seem
> to get GDB to understand the dynamic libraries, and message_warning
> wouldn't even work, so I had to resort to inserting sleep() statements and
> time it to see where things went wrong. But somehow the sleep()s removed
> the bug (spooky).
Hmmm... I used DDD (over GDB), because I'm too lazy to learn plain GDB. I
didn't use any of the fancy features of DDD, though.
To get DDD/GDB understand the dynamic libs, I first call ddd by doing this
:
DEBUGGER=ddd app/run_dia.sh
Then, I let it run until the app shows up. When the app's ready, I freeze
it, and scatter breakpoints. Unfortunately, I have to manually re-scatter
breakpoints at each run (beuark).
However, DDD/GDB is frequently unable to find where the crash happened,
when it happens after several VMT dereferences (pointers through
nonexistent objects). connpoint_line was a hell to debug just because of
that.
-- Cyrille
------------------------------------------------------------------------------
Grumpf.