On 05/04/2010 02:40 PM, Jamey Sharp wrote:

Of course if this application is forking, it can be quite tricky to
get gdb attached to the process that actually dies. It may be easier
to run `ulimit -c unlimited` to enable core dumps, then let the
application die, then use `gdb -c` to inspect the coredump.

I've been doing some more fiddling with this, and I managed to get a
viable stack trace using winedbg; see attached. (It should be a lot
smaller than the last attachment. Is there any easy way to prevent
attachments from being displayed inline that way when they're so big?)

I also included a register dump, just in case that would be useful.
Looking at the dump now, though, I'm suddenly no longer sure that it was
taken at the correct stack frame; take it with a grain of salt. I can
re-run the debug session if necessary.

When you have the failed process in GDB, it would also help to go to
the _XReply stack frame and print dpy->request and
dpy->last_request_read. I'm guessing those will be 9 and 8,
respectively.

Unfortunately, I was not able to manage this. Possibly I don't
understand how to "go to the_XReply stack frame"; I tried both
'select-frame 3' and 'frame 3' (the latter of which did print '#3
0x7e7a7f44 in _XReply () from /usr/lib32/libX11.so.6'), but both ways, I
got only 'No symbol "dpy" in current context."



--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to