我在实习期间遇到了一个奇怪的问题。我的工作是用 C++ 中的 VTK 编写代码,我在 OSX 10.8.3 上工作。
当我想调试我的程序时,我运行 gdb 并使用指令“文件”加载我的程序,然后我使用“列表”显示源代码以按行号设置断点。问题来了:这个怪异的 gdb 显示了一个 VTK 头文件的源代码,我什至没有将它包含在我的源代码中!
我的程序名称已被读取,我曾尝试使用它gdb read
来break 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。