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头文件的源代码,我甚至没有包括在我的源代码中!
我的程序名是read我试图使用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
的源文件。你有的可能叫做read.cc
,或者read.cpp
,所以试试break read.cc:15
。
这是我的错误:我没有将ccmake中的构建标记设置为"debug",因此编译器没有将信息写入文件
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 在Linux中哪里可以找到互斥、未来等的源代码
- 无法编译 rtmidi 测试 cmidiin.cpp 文件, 非法指令
- C++:对不存在的命名空间使用命名空间指令
- 如果编译的源代码是特定于它编译的硬件的,我们如何分发它
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 难以理解某些人解决IOI问题的源代码
- 函数名是c中该函数的第一条指令的地址吗
- 使用g++编译hdf5源代码
- 错误:无效的预处理指令 #i 的意思是 #if?
- 组装指令中乘法的下部和上部是什么
- 如何使用C++读取另一个程序中的源代码输出
- Poco FindMySql.cmake 无法找到 MySQL 源代码
- 更改命令行 qt5 源代码构建配置的正确/快速方法
- C++出现控制台错误.我无法识别源代码的问题
- OpenMP 与有序和关键指令并行
- Qt Quick,如何更改 Ui 源代码?
- C++中的移动分配出现问题.非法指令: 4.
- Bullet Physics源代码未在X86中构建 - Visual Studio 2017中错误的预处理器指令
- GDB不显示正确的源代码由指令-l