On Fri, 29 May 1998, Chris Jacobson wrote: >Is there a way to find out what function the program was in when a signal >is trapped, and then log the name (using Linux) ? I want to find out >what function was being executed when checkpointing() kills the program. >(fortunately I don't think I have any infinite loops, but I want it to >have the necessary info, JIC.) If you have glibc 2 (libc5 doesn't seem to have it), there is a structure called 'sigcontext' that will save the 'eip' that the program was currently at. Then in gdb, to see the code at that address: list *0x[address] I don't know of a way to automate that, and actually, don't see any functions in the header to actually use sigcontext. But it's there. If you find out more, let me know. -- George Greer, greerga@circlemud.org | Genius may have its limitations, but http://patches.van.ml.org/ | stupidity is not thus handicapped. http://www.van.ml.org/CircleMUD/ | -- Elbert Hubbard +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST