-
return
-
说明
- 从当前指令直接返回,即不执行后续指令.
-
案例分析
chen@chen:~/cppfile/test$ gdb -q ./a.out Reading symbols from ./a.out...done. (gdb) b show Breakpoint 1 at 0x4004d6: file test.cpp, line 3. (gdb) r Starting program: /home/chen/cppfile/test/a.out Breakpoint 1, show () at test.cpp:3 3 test = 1; (gdb) p test $1 = 0 (gdb) return Make show() return now? (y or n) y #0 main () at test.cpp:7 7 } (gdb) p test $2 = 0 (gdb) !cat test.cpp int test = 0; void show() { test = 1; } int main() { show(); }
- 可以看到直接退出,没有执行
test=1
,正常执行完,test
的值应该是为1
的。
- 可以看到直接退出,没有执行
-
-
finish | fin
-
简介
-
案例
chen@chen:~/cppfile/test$ gdb -q ./a.out Reading symbols from ./a.out...done. (gdb) b show Breakpoint 1 at 0x4004d6: file test.cpp, line 3. (gdb) r Starting program: /home/chen/cppfile/test/a.out Breakpoint 1, show () at test.cpp:3 3 test = 1; (gdb) bt #0 show () at test.cpp:3 #1 0x00000000004004f6 in main () at test.cpp:7 (gdb) finish Run till exit from #0 show () at test.cpp:3 main () at test.cpp:8 8 } (gdb) p test $1 = 2 (gdb) !cat test.cpp int test = 0; void show() { test = 1; test = 2; } int main() { show(); }
-
gdb跳出函数
于 2021-04-15 11:14:56 首次发布