繁体   English   中英

gdb不能通过指令-l显示正确的源代码

[英]gdb do not show the right source code by the instruction -l

我在实习期间遇到了一个怪异的问题。 我的工作是在C ++中使用VTK进行编码,而我在OSX 10.8.3上工作。


当我想调试程序时,我运行了gdb并使用指令“ file”加载程序,然后使用“ list”显示了按行号创建断点的源代码。 问题出在这里:这个怪异的gdb显示了VTK头文件的源代码,我什至没有将其包括在源代码中!


我的程序名被读取,我尝试使用gdb read然后break read:15来设置断点,但是gdb显示“ no source file named read ”,这很荒谬! 我注意到gdb在我的ubuntu 12.04中运行良好,当我在linux的gdb中使用file read时,它刚刚显示

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。

但是gdb显示“没有名为读取的源文件”,这很荒谬!

这一点都不严格:您很可能没有名为read的源文件。 您所拥有的可能称为read.ccread.cpp ,因此请尝试break read.cc:15

那是我的错误:我没有在ccmake中将build标记设置为“ debug”,因此编译器没有将信息写入文件中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM