如何在gdb命令中打印输入和离开功能?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在gdb命令中打印输入和离开功能?相关的知识,希望对你有一定的参考价值。

我尝试过以下内容,但我只看到第一个printf语句,而不是那个说“离开”的语句。这可能吗?

break MyFunctionName
commands
  silent
  printf "Entering MyFunctionName
"
  finish
  printf "Leaving MyFunctionName
"
  continue
end
答案

这可能吗?

不,这是gdb的documented行为:

在恢复执行的命令之后,命令列表中的任何其他命令都将被忽略。这是因为每当你恢复执行时(即使使用简单的下一步或步骤),你可能会遇到另一个断点 - 它可能有自己的命令列表,导致关于要执行哪个列表的含糊不清。

finish是恢复执行的命令,因此命令列表中的这两个剩余命令将被忽略:

  printf "Leaving MyFunctionName
"
  continue

以上是关于如何在gdb命令中打印输入和离开功能?的主要内容,如果未能解决你的问题,请参考以下文章

GDB的食用方法

gdb 调试程序步骤

如何加载程序读取标准输入并在 gdb 中获取参数?

python如何一步步调试

跟踪所有变量以执行gdb中的函数

VsCode 执行 debug(lldb/gdb) 命令