"Thierry [email protected]" <[email protected]> writes:

> Any thought on how to debug what's going on ?

Get a minimal reproducer (ideally tracing a single symbol in a small
binary), then look through -D77, and annotate, annotate, annotate.  You
can in theory debug ltrace under gdb, but I just put there a bunch of
printfs and try to figure out why it's hanging.

If it's a live hang (it's spinning), the problem might be that a
breakpoint is double-set, so that the original instruction is a
brakpoint as well.  Then when a disable request is made, we rewrite one
breakpoint instruction with another, let it run, which of course leads
to immediate stop.  We notice it's on one of "our" addresses, disable
the breakpoint (which still doesn't do anything), and let it continue.
Et cetera.

If it's a dead hang (it's waiting), it might be stuck in some wait
somewhere.  Typically it's a job control bug.

Thanks,
Petr

_______________________________________________
Ltrace-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/ltrace-devel

Reply via email to