【发布时间】:2020-05-04 20:13:28
【问题描述】:
我正在尝试通过 GDB 在 C++ 中的模板函数中设置断点 我尝试了三种可能的方法。
- break fileName:functionName => 适用于非模板 函数(特定于一个函数)
- rbreak 文件名:。 => 给定文件中所有函数的断点,但似乎没有 为模板函数工作
- break fileName:lineNumber => 适用于非模板函数和模板函数,但有问题 对我来说,我每次都必须修改这个行号。
总体目标是使用如下脚本通过 GDB 跟踪完整的代码流,但我的代码也有很多模板函数。 下面是示例 GDB 脚本
set logging on
b func2
commands
silent
bt 1
continue
end
b func1
commands
silent
bt 1
set logging off
continue
end
- 一种选择是使用 rbreak 文件名:。
- 运行一次代码,然后
- 在不退出 GDB 的情况下再次运行代码。这一次它认 函数和断点有效。
您能否帮助提出一个合适的解决方案,或者如果我遗漏了什么,请告诉我? 任何帮助/建议都非常感谢,并大大简化了我的调试。
提前非常感谢!!
【问题讨论】:
标签: c++ templates gdb breakpoints