我尝试过以下内容,但我只看到第一个printf语句,而不是那个说“离开”的语句。这可能吗?
break MyFunctionName
commands
silent
printf "Entering MyFunctionName\n"
finish
printf "Leaving MyFunctionName\n"
continue
end
这可能吗?
不,这是gdb的documented行为:
在恢复执行的命令之后,命令列表中的任何其他命令都将被忽略。这是因为每当你恢复执行时(即使使用简单的下一步或步骤),你可能会遇到另一个断点 - 它可能有自己的命令列表,导致关于要执行哪个列表的含糊不清。
finish
是恢复执行的命令,因此命令列表中的这两个剩余命令将被忽略:
printf "Leaving MyFunctionName\n"
continue