Почему в GDB появляется сообщение «Один шаг до выхода ... у которого нет информации о номере строки»? - PullRequest
39 голосов
/ 31 января 2010

Я скомпилировал свою программу на C, используя gcc 4.4.1 , используя флаг -g, но когда я пытаюсь выполнить одну из моих функций в gdb версии 7.0 , Я получаю сообщение:

"Single stepping until exit from function _DictionaryTree_getNodeList, 
which has no line number information."

Может кто-нибудь сказать мне, почему это происходит?

Ответы [ 7 ]

31 голосов
/ 31 января 2010

Просто догадываюсь, но есть ли _DictionaryTree_getNodeList в другом файле, который не был скомпилирован с -g?

9 голосов
/ 23 ноября 2012

У меня была такая же проблема, но в моем случае добавления -g к компилятору было недостаточно, поэтому я использовал -ggdb, как это было предложено Манавом.

6 голосов
/ 01 июня 2015

В моем случае проблема заключалась в перекосе версии между gcc и gdb.

После приземления здесь из поиска, и ни один из этих ответов не соответствовал моей ситуации, я понял, что (из-за псевдонимов / символических ссылок / Makefile / переменных среды) я случайно использовал более новый GCC (4.8.x) и более старый ГБД (7.2). Переход на более новую версию GDB (7.8) устранил проблему. По какой-то причине использование более новой GCC и более старой GDB не работало.

1 голос
/ 28 августа 2014

У меня тоже было это сообщение об ошибке, но источник моей проблемы был другим. Если у кого-то все еще есть проблемы, убедитесь, что у вас есть #include <stdio.h> в вашем файле, с соответствующими скобками вокруг stdio.h (текстовое сообщение не появилось бы, если бы оно было около stdio.h).

0 голосов
/ 25 июня 2017

У меня была такая же проблема, несмотря на то, что я уже компилировал с -g2. Сменив его на -g3 сделал свое дело.

0 голосов
/ 19 мая 2017

У меня была эта проблема, потому что я отлаживал общую библиотеку, не указывая LD_LIBRARY_PATH на правильное расположение с отладочными конечными состояниями.

вы можете использовать

export LD_LIBRARY_PATH=<location of the debug build of the .so file>:$LD_LIBRARY_PATH

Надеюсь, это кому-нибудь пригодится

0 голосов
/ 21 октября 2013

У меня была такая же проблема, когда я компилировал файл с опцией -g и без опции -g. Для одного из файлов GDB показал номер строки без каких-либо проблем (даже если он был скомпилирован без опции -g). А для другого файла я должен был явно указать флаг -g ...

Любые идеи относительно того, может ли исходный файл быть загружен во время выполнения в ГБД с перекрестными ссылками было бы хорошим решением ... путем отображения строки по адресам: D.

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