因此,当使用GDB提示时,我可以使用break foobar
在输入函数foobar
时中断。然后我可以为该断点分配命令,例如:
set $i = 0
commands 1
silent
printf "Before foobar: %d\n", $i
set $i = $i + 1
end
但是,根据这些命令,我将如何继续直到函数结束(在提示符为finish
),然后只输出另一行(printf "Before foobar: %d\n", $i
)和continue
。< / p>
我尝试使用.gdbinit
:
set $i = 0
commands 1
silent
printf "Before foobar: %d\n", $i
set $i = $i + 1
finish
printf "After foobar: %d\n", $i
end
但它绝不会为第二个printf
打印任何内容,大概是因为GDB在commands
期间的“模式”。
任何人都可以告诉我,我想要的是什么(GDB版本是7.7.1),如果是,如何完成它?