The reverse-finish command results in an internal error if it cannot determine the current function. (gdb) c Continuing. Program received signal SIGSEGV, Segmentation fault. 0x0000000000000000 in ?? () (gdb) reverse-finish Run back to call of #0 0x0000000000000000 in ?? () gdb/infcmd.c:1576: internal-error: Finish: couldn't find function. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) y This is not an internal error case since the command may be used in scenarios where there is no function at the current PC, e.g. after calling through a bad function pointer. Turn this into a normal error. gdb/ * infcmd.c (finish_backward): Turn internal error into normal error. testsuite/ * gdb.btrace/segv.c: New. * gdb.btrace/segv.exp: New. |
||
---|---|---|
.. | ||
Makefile.in | ||
data.c | ||
data.exp | ||
delta.exp | ||
enable.c | ||
enable.exp | ||
exception.cc | ||
exception.exp | ||
finish.exp | ||
function_call_history.c | ||
function_call_history.exp | ||
gcore.exp | ||
instruction_history.S | ||
instruction_history.c | ||
instruction_history.exp | ||
multi-thread-step.c | ||
multi-thread-step.exp | ||
next.exp | ||
nexti.exp | ||
nohist.exp | ||
record_goto.c | ||
record_goto.exp | ||
rn-dl-bind.c | ||
rn-dl-bind.exp | ||
segv.c | ||
segv.exp | ||
step.exp | ||
stepi.exp | ||
tailcall.exp | ||
unknown_functions.c | ||
unknown_functions.exp | ||
vdso.c | ||
vdso.exp | ||
x86-record_goto.S | ||
x86-tailcall.S | ||
x86-tailcall.c |