Я не могу установить точки останова или увидеть поток с DDD / GDB после обновления до моей ОС - PullRequest
1 голос
/ 06 мая 2011

Я только что перешел с Ubuntu 10.04 на новую версию 11.04, и когда я пытаюсь отладить с помощью ddd/gdb, я не могу больше устанавливать точки останова или видеть поток, пока отладчик выполняет мою программу.

Iполучать сообщения об ошибках, в которых говорится:

  (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 в компиляторе?

1 Ответ

0 голосов
/ 06 мая 2011

Кажется, все инструменты, связанные с компиляцией, также были обновлены, включая GCC.Было бы лучше, если бы вы перекомпилировали все свое приложение в этой новой среде, прежде чем пытаться снова его отладить.

Вы можете сделать простой тест, чтобы проверить, что ваш набор инструментов в порядке.Напишите небольшое приложение hello world , скомпилируйте его с помощью -g и попробуйте установить точку останова на линии cout .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...