I kind of like the behavior of Eterm, where it attempts to attach a GDB to
it on segfault. I can imagine that as being useful, but it definately
should be debug-only, as whenever Eterm segfaults I'm running it from some
virtual console and that's where the gdb appears.


> > The important question is, does the core that gets dumped there show you
> > the call stack at the time of the problem (eg segfault) that triggered the
> > signal, or is it just the call stack of your new signal trapping
> > code? Hopefully the former, otherwise the core isn't much use.
> >
> 
> It shows the call stack all the way to the abort call.  But you needen't
> worry, here's an example (from undoing page numbers):
> 
> (gdb) bt
> #0  0x401694e1 in __kill () from /lib/libc.so.6
> #1  0x40169156 in raise (sig=6) at ../sysdeps/posix/raise.c:27
> #2  0x4016a868 in abort () at ../sysdeps/generic/abort.c:88
> #3  0x80bed4a in AP_UnixApp::catchSignals (this=0x83dca58, sig_num=11)
>     at ap_UnixApp.cpp:1166
> #4  0x80bec89 in signalWrapper (sig_num=11) at ap_UnixApp.cpp:1145
> #5  <signal handler called>
> #6  0x810a7f2 in UT_Vector::getNthItem (this=0x843bd90, n=0)
>     at ut_vector.cpp:163
> #7  0x815e59a in pf_Frag_Strux::getFmtHandle (this=0x843bd70, lid=0)
>     at pf_Frag_Strux.cpp:49
> #8  0x815d4c9 in PD_Document::notifyListeners (this=0x84338c8,
> pfs=0x843bd70,
>     pcr=0x84459c8) at pd_Document.cpp:456
> #9  0x816996d in pt_PieceTable::_doTheDo (this=0x8434180, pcr=0x84459c8,
>     bUndo=1 '\001') at pt_PT_Undo.cpp:209
> #10 0x816a534 in pt_PieceTable::undoCmd (this=0x8434180) at
> pt_PT_Undo.cpp:447
> #11 0x815d92c in PD_Document::undoCmd (this=0x84338c8, repeatCount=0)
>     at pd_Document.cpp:592
> #12 0x81398c4 in FV_View::cmdUndo (this=0x843c8a8, count=1) at
> fv_View.cpp:4777
> #13 0x80e6485 in ap_EditMethods::undo (pAV_View=0x843c8a8)
>     at ap_EditMethods.cpp:1333
> #14 0x81a5b9c in EV_Keyboard::invokeKeyboardMethod (this=0x83cb810,
>     pView=0x843c8a8, pEM=0x837bf60, pData=0xbffff4fa, dataLength=1)
>     at ev_Keyboard.cpp:74
> #15 0x81a1fca in ev_UnixKeyboard::keyPressEvent (this=0x83cb810,
>     pView=0x843c8a8, e=0x84449d8) at ev_UnixKeyboard.cpp:145
> #16 0x819412f in XAP_UnixFrame::_fe::key_press_event (w=0x83cbc20,
> e=0x84449d8)
>     at xap_UnixFrame.cpp:254
> 
> #5 is the signal handler call, and everything before that is real abi
> calls.
>                               sam th
>                               [EMAIL PROTECTED]
>                               http://www.abisource.com/~sam/
> ------------ Output from gpg ------------
> gpg: Can't check signature: public key not found
> 
> 




Reply via email to