0

我正在使用带有 CDT 的 Eclipse。我有一个包含许多可执行文件的项目。它是 makefile 驱动的,因此所有可执行文件都正确构建。

无论如何,当我启动调试会话时,GDB 被指向错误的 main.cpp 并且在该文件的范围内调试实际上毫无价值。所有其他后续文件都可以。

这是它选择的错误路径:

(gdb) 
72-break-insert -t main
72^done,bkpt={number="5",type="breakpoint",disp="del",enabled="y",addr="0x080931fa",func="main(int, char**)",file="src/main.cpp",fullname="D:\\app\\src\\main.cpp",line="10",times="0",original-location="main"}

但是,它应该使用这个文件(但错误):

(gdb) 
89-break-insert D:/unittests/src/main.cpp:12
89^error,msg="No source file named D:/unittests/src/main.cpp."

因为这两个文件都包含一个 main(),IDE 会抓取它找到的第一个文件,因为符号与函数签名匹配。有没有办法解决这个问题而不必将项目分成多个项目?

4

0 回答 0