Reporting of "program no longer exists"
Vladimir Prus
ghost@cs.msu.su
Sat Oct 14 16:33:00 GMT 2006
Hi,
suppose a program being debugged got SIGSEGV and the user for GUI frontend
tries the "next" command. Here's what happens:
(gdb) -exec-next
^running
*stopped,reason="signal-received",signal-name="SIGSEGV".....
(gdb) -exec-next
^running
Couldn't get registers: No such process.
^error,msg="Couldn't get registers: No such process."
I think this is a bit unfriendly to frontend.
(1) How can frontend disable the "next" command? Checking for "SIGSEGV" is
possible, but it a bit of a hack.
(2) After getting the second response, how can frontend understand that this
is really fatal, unfixable error? Looking at the specific text is obviously a
hack?
How about making a notion of "inferior state" and announcing changes in the
state. So, the above would become
(gdb) -exec-next
^running
*stopped,target-state="noncontinuable",
reason="signal-received",signal-name="SIGSEGV".....
(gdb) -exec-next
^running
Couldn't get registers: No such process.
^error,msg="Couldn't get registers: No such process.",target-state="dead"
?
- Volodya
More information about the Gdb
mailing list