This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: How to pop -c in gdb
- From: Daniel Jacobowitz <drow at false dot org>
- To: "William K. Foster" <wkf at sinavigator dot com>
- Cc: gdb at sourceware dot org
- Date: Tue, 9 Jan 2007 21:51:25 -0500
- Subject: Re: How to pop -c in gdb
- References: <45A43875.4020808@sinavigator.com>
On Tue, Jan 09, 2007 at 04:51:01PM -0800, William K. Foster wrote:
> Hello,
>
> When I used dbx and at the prompt called a function which got a SEGV or
> something, I could do "pop -c" to recover from my call and return to the
> point I was at in the program being debugged where I typed in the
> expression that failed.
> Program received signal SIGSEGV, Segmentation fault.
> 0x42d05bda in QWidgetPrivate::q_func (this=0x0) at qwidget_p.h:157
> The program being debugged was signaled while in a function called from GDB.
> GDB remains in the frame where the signal was received.
> To change this behavior use "set unwindonsignal on"
> Evaluation of the expression containing the function (QWidget::x()
> const) will be abandoned.
As the message suggests, if unwindonsignal is set, you won't run into
this problem. However, once you do, there's no easy way out yet.
This might work though: instead of "fin", try "signal 0" to resume,
and then the application should resume running. Or try "handle SIGSEGV
nopass" and then finish should work.
I think. I haven't tried it lately.
--
Daniel Jacobowitz
CodeSourcery