【发布时间】:2017-09-13 18:14:43
【问题描述】:
当我最初运行 gdb 时,gdb 似乎无法识别给它的任何源文件(为了添加断点),除非程序首先运行干净,没有任何断点:
不起作用:
(gdb) break dir1/dir2/filename.cxx:1
No source file named break dir1/dir2/filename.cxx.
确实有效:
(gdb) run
etc, etc
...
[Thread 0x... (LWP 14348) exited]
[Thread 0x... (LWP 14347) exited]
[Thread 0x... (LWP 14335) exited]
[Inferior 1 (process 14335) exited normally]
(gdb) break dir1/dir2/filename.cxx:1
Breakpoint 1 at 0x...: dir1/dir2/filename.cxx, line 1.
我已经快速搜索了 gdb 错误列表:https://sourceware.org/bugzilla/
它似乎不存在。 Stack Overflow 似乎同样是空的。
首先,是否有任何迹象表明为什么会发生这种情况,(我怀疑程序本身可能是问题所在。或者源文件可能只是由 gdb 通过实际运行代码“发现”)
其次,有什么办法可以解决这个问题吗?
注意如果您想对这个问题投反对票,如果您能告诉我您在 cmets 中这样做的原因,我将不胜感激。否则,我将保持无知。另外,请随时要求澄清
谢谢
【问题讨论】: