升级到我的操作系统后,我无法设置断点,也无法查看ddd / gdb的流程

时间:2011-05-06 12:38:37

标签: c++ gdb

我刚刚从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 sourceinfo 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选项时?

1 个答案:

答案 0 :(得分:0)

似乎所有编译相关工具也都在更新,包括GCC。如果您在尝试再次调试之前在这个新环境中重新编译整个应用程序,那将是最好的。

您可以进行简单的测试,检查您的工具链是否正常。编写一个小的 hello world 应用程序,使用-g进行编译,并尝试在 cout 行上设置断点。