【发布时间】:2019-08-01 10:41:32
【问题描述】:
在我的代码库中,有一些在匿名命名空间中定义的回调函数。我在 gdb 中调试,我想使用函数名在函数中设置断点。 我还尝试使用 filename : linenum 放置断点,但如果文件已经加载,这通常会起作用,否则它会说 “找不到源文件” 在未来的共享库加载时使断点挂起? (y 或 [n]) n
所以,解决方法是一旦调试器在同一个文件中,我可以使用文件名设置断点:行号
但是有没有其他方法可以在匿名命名空间内设置断点?
相关的stackoverflow问题: How to set breakpoint by function name inside anonymous namespace in Visual Studio?
但这并不能解决这里的问题。
根据stackoverflow中的一些帖子,
- 我尝试使用 ::function_name() 但这不起作用。
- 匿名命名空间::function_name()
命名空间 { int function_name(int a,int b) { 返回 a+b; } }
“没有找到源文件” /root/workspace/ProtocolInterface.cpp。 在未来的共享库加载时使断点挂起? (y 或 [n]) 是的
即使断点挂起,它也不会在提到的函数处中断。
【问题讨论】:
标签: c++ namespaces gdb