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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟踪所有变量以执行gdb中的函数相关的知识,希望对你有一定的参考价值。

我想跟踪C中函数中所有变量的状态。

我知道我可以在gdb中使用info命令来获取当前上下文中的所有变量状态。

而且我可以使用gdbinit来自动化gdb。

但是我想做的是在函数上设置一个断点,然后在执行每行打印后执行info命令。

[基本上,我想设置两个断点:一个在函数的开头,一个在同一函数的结尾(我不知道如何做到),并在这两个点之间逐行执行。] >

我想在gdbinit中输入类似的内容:

b <func_name>
commands
while <inside the function>:
   info locals
   next
end
run

是否有办法显示上面的while循环?

我想跟踪C中函数中所有变量的状态。我知道我可以在gdb中使用info命令来获取当前上下文中的所有变量状态。而且我可以使用gdbinit来自动化...

答案

[基本上,我想设置两个断点:一个在一个函数的开头,一个在同一函数的结尾(我不知道如何做到),并在这两个点之间逐行执行。] >

以上是关于跟踪所有变量以执行gdb中的函数的主要内容,如果未能解决你的问题,请参考以下文章

gdb中一些常用的调试命令

实验作业:使gdb跟踪分析一个系统调用内核函数

gdb——但不执行和跟踪函数

gdb可以跟踪内存分配日志

linux编程之GDB调试

从程序内部调用 gdb 以打印其堆栈跟踪的最佳方法?