c++ - 使用 gdb 自动调试

标签 c++ c debugging gdb

我正在处理一个包含大量全局变量的大型代码库。在一些特殊的数据集下,它会产生错误的结果。我想在自动逐步执行和定期转储中使用 gdb 自动运行一些场景 某些值并在某些文件中记录跟踪。手动操作会毁了我的视力和大脑。我推测有一些全局困惑。如何自动执行此操作?使用一些脚本。所有这些都在 RH linux 中。 提前致谢。

尝试使用条件中断手动执行此操作,但过了一会儿就放弃了

最佳答案

I wanted to automatically run few scenarios with gdb in automatic step-by-step execution and periodical dumping of some values and recording the tracing in some file.

在反向调试器(例如 rr )下运行程序可能会更有效,并将错误结果追溯到其源头。

How to do this automatically?

您不能自动执行您无法表达为算法的事情,并且您还没有描述您想要使用的算法。如果它类似于“每调用 100 次 foo 就停止并打印这 500 个全局变量的值”,那么这可以通过 GDB 轻松实现自动化。

使用嵌入式 Python 可以实现更复杂的算法。

关于c++ - 使用 gdb 自动调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58142857/

相关文章:

c - 在 C 中打开文件

c - 递归:如何防止 for 循环中的变化变量在递归期间发生变化?

java - 在java中打开/关闭println的任何方法(详细模式)

javascript - Operator Instanceof 在 Console.log 串联中给出不同的结果

c++ - 声明一个大小不变的数组 - 编译错误

c++ - "Error: Redefinition of Class"- 但没有重新声明

连接到xampp服务器上的index.php的C程序

c++ - 直接停止调试会释放内存吗?

C++:静态原语在程序退出时是否无效?

c++ - C++ 中的信号处理