【发布时间】:2018-01-12 16:02:42
【问题描述】:
我需要使用 gdb 调试流程 - 我不知道调用堆栈因此无法设置断点,并且在运行数千行的项目代码中通过第一个入口点将非常乏味。
同样有一种方法,当我通过 gdb 启动程序执行时,我们启用一些命令(在一些初始断点之后) - 因此,当程序开始在其上进一步处理时打印文件名行号而无需用户交互 - 类似于代码流本身?
【问题讨论】:
-
你可以在程序处于断点时更改一个变量,这是你的要求吗?
-
嗯,我想在通过 GDB 执行时列出代码行 - 就像我们在设置断点并运行“步骤”时所做的那样。有没有办法让 GDB 在程序运行时自动打印代码?
-
是的,但我从未使用过。 sourceware.org/gdb/onlinedocs/gdb/Break-Commands.html我想对你有帮助
-
它会列出它正在执行的代码行 - 我不确定这些设置是否会启用打印代码行 - 例如 bash 'set -x' 命令 - 它会打印它正在执行的内容和脚本流程
-
它会打印你告诉它打印的任何东西 - 如果你添加
bt它会在每次遇到断点时打印回溯