0

我在实习期间遇到了一个奇怪的问题。我的工作是用 C++ 中的 VTK 编写代码,我在 OSX 10.8.3 上工作。


当我想调试我的程序时,我运行 gdb 并使用指令“文件”加载我的程序,然后我使用“列表”显示源代码以按行号设置断点。问题来了:这个怪异的 gdb 显示了一个 VTK 头文件的源代码,我什至没有将它包含在我的源代码中!


我的程序名称已被读取,我曾尝试使用它gdb readbreak read:15设置断点,但 gdb 显示“ no source file named read”,这太荒谬了!我注意到 gdb 在我的 ubuntu 12.04 中运行良好,当我file read在 linux 的 gdb 中使用时,它只是显示

Reading symbols from /Users/apple/Dev/VTKRead/bin/bin/read...done.

但在我的 OSX 10.8.3 的怪异 gdb 中它显示

Reading symbols for shared libraries ......... done
Reading symbols from /Users/apple/Dev/VTKRead/bin/bin/read...done.

我认为这就是原因,我试图通过在 macport 中安装 gcc4.8 来更改编译器来解决问题,但 cmake 似乎只接受苹果的 gcc。

4

2 回答 2

1

但是 gdb 显示“没有名为 read 的源文件”,这太荒谬了!

这一点也不奇怪:你很可能没有一个名为read. 你所拥有的可能是所谓read.cc的,或者read.cpp,所以尝试break read.cc:15

于 2013-05-17T22:19:19.893 回答
0

那是我的错误:我没有在 ccmake 中将构建标签设置为“调试”,所以编译器没有将信息写入文件中。

于 2013-07-16T13:48:18.197 回答