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

I cannot set breakpoints nor see flow with ddd/gdb after upgrade to my os

本文关键字:的流 ddd gdb 设置 操作系统 断点      更新时间:2023-10-16

我刚刚从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选项时,为什么它说"用未知的调试格式编译"?

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

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