升级到操作系统后,我无法设置断点,也无法看到使用ddd/gdb的流
I cannot set breakpoints nor see flow with ddd/gdb after upgrade to my os
我刚刚从Ubuntu 10.04移动到11.04的新版本,当我尝试用ddd/gdb
调试时,我无法设置更多的断点,也无法在调试器执行我的程序时看到流程。
我收到错误消息说
(gdb)b MyFile.cpp:27
No line 27 in file "MyFile.cpp".
当我开始运行我的应用程序调用r
时,我也可以看到下面的文本消息,它看起来与我的问题相关。调试器会捕获所有断言,但我不能在任何地方停下来。
(gdb) r
BFD: /lib/x86_64-linux-gnu/libc.so.6: invalid relocation type 37
BFD: BFD (GNU Binutils) 2.18.50.20080226 assertion fail elf64-x86-64.c:278
BFD: /lib/x86_64-linux-gnu/libc.so.6: invalid relocation type 37
BFD: BFD (GNU Binutils) 2.18.50.20080226 assertion fail elf64-x86-64.c:278
如果我想查看文件,调试器会和我一起打开文件,但我收到以下错误消息
(gdb) list MyFile.cpp:27
Line number 27 is out of range for "MyFile.cpp".
你能帮我吗?我读了一些论坛要求检查info source
和info sources
的结果,这就是我所拥有的,但我不知道该怎么做。
(gdb) list MyFile.cpp:27
Line number 27 is out of range for "MyFile.cpp".
(gdb) info source
Current source file is /usr/local/include/boost/exception/exception.hpp
Compilation directory is /home/emanueler/trunk/tools/myAppBinary
Located in /usr/local/include/boost/exception/exception.hpp
Contains 436 lines.
Source language is c++.
Compiled with unknown debugging format.
Includes preprocessor macro info.
当我在编译器中给出-g
选项时,为什么它说"用未知的调试格式编译"?
似乎所有与编译相关的工具也都更新了,包括GCC。在尝试再次调试之前,最好在这个新环境中重新编译整个应用程序。
您可以做一个简单的测试来检查您的工具链是否正常。编写一个小的hello world应用程序,用-g
编译它,并尝试在cout行设置一个断点。
相关文章:
- 删除提升存档对象也会删除与其关联的流?
- C++ 中完全自定义的流运算符
- 重载嵌套结构/类的流插入运算符
- 我可以使用在类构造函数中初始化的流类型的成员变量吗?
- 在编写自己的流运算符时,如何检查当前的 ostream dec/hex 模式?
- 内存映射C++中的流数据
- 如何通过自定义的流设置流的坏位
- 打开路径名中带有波浪号 (~) 的流
- while 循环中的流输出文件() 通常生成空文件
- 记录器的流界面,C
- 一个流如何与另一个冲洗的流相关联?
- 在方法中引用我正在读取的流
- 流从STD :: Stringstream带有空间的流
- C - 不带CIT或COUT的流媒体运算符
- 编译器将输出的流运算符<<解释为用于按位左移的二进制运算符<<
- C++中的流数组
- 静态的流将创建一个文件,但切勿写入文件
- 为什么我的流式写作会导致比预期更多的字节
- 使用相同的流对象写入文件流或字符串流
- 升级到操作系统后,我无法设置断点,也无法看到使用ddd/gdb的流