I don't think telling gdb what to do would be a problem. The worst that could happen is that I'd stuff my commands down gdb's stdin in a script. The tricky part is convincing gdb to hook up to python when the sig 11 hits. Isn't there a trap instruction somewhere where I could tell python to run an external script when hit by a sig11? Or perhaps I should be running zope from gdb? Wouldn't that be prohibitively slow? We are talking about a production machine here, with a really huge Data.fs (aprox. 1GB) and lots of data on MySQL Yesterday I put some zLOG.LOG calls imediately before and after db.query() in ZMySQLDA/db.py. If I see calls that don't finish before a sig 11 then I'll be sure it is _mysql.so fault. On Wed, 2001-12-05 at 20:41, Dieter Maurer wrote:
Matthew T. Kromer writes:
... Well largely, ALL I want is the backtrace -- and I'm wondering if I could cobble something together that could get it. The problem is it needs to look at the symbol table, and I dont know how to get at that via C -- ie, gdb doesnt have an interface that I know of that you can link in to grab a stack trace and exit. I seem to remember that one can define gdb commands that are executed whenever the program stops.
It this were true, we could activate such a definition in a ".gdbinit" file and then run the program. When the Python stops due to a signal, the command would be activated. It would make a backtrace followed by a quit.
Not sure, it will work, though...
Dieter
-- Ideas don't stay in some minds very long because they don't like solitary confinement.