我正在处理一个包含大量全局变量的大型代码库。在一些特殊的数据集下,它会产生错误的结果。我想在自动逐步执行和定期转储中使用 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/