2012-04-02 4 views
1

В c или C++ При отладке дампа ядра, то есть, если мы остаемся с файлом coredump и попытаемся отладить его с помощью этого файла ядра, мы можем увидеть последние несколько строк кода до возникновения дампа. Трассировка стека показывает только вызов функции.Исходные строки при отладке дампа ядра

для, например: во время отладки запущенного процесса в DBX или списка Команда GDB

list Display lines of a source file

передаст часть кода в настоящее время под execution.in таким же образом, мы имеем возможность, глядя на дамп ядра? Я работаю над solaris mdb

ответ

0

Если вы скомпилированы с опцией -g, вы можете отображать строки источника. В dbx вы можете использовать команду use для установки исходных каталогов dbx.

Вы можете использовать команду list (l) для отображения строк источника.

См. help команду, чтобы узнать, как использовать команды dbx и gdb.

0

Если вы правильно установили путь к исходному файлу с помощью команды use в dbx или запустили ее с помощью -I, то вряд ли есть какая-либо разница между отладкой дампа ядра и нормальным процессом, когда дело доходит до чтения исходных строк.

2

list команды в GDB должен предоставить подробную информацию о числах исходного кода строки и соответствующий источник листинга из основного файла, если:.

  • Исполняемый был скомпилирован с отладочной поддержкой (например -g в НКУ и г ++)
  • не-разделите версию исполняемого файла доступен (например. не имели отладочную информацию удалить, запустив strip)
  • отладчик способен найти соответствующие исходные файлы

Отладчик должен по-прежнему иметь возможность указывать номера файлов и строк, даже если он не может найти исходные файлы, поскольку информация о номере линии составляет часть символов отладки. Эта информация должна быть доступна через команду bt (backtrace), а также команду info symbol.

Обратите внимание, что даже если основной файл был сгенерирован из урезанного исполняемого файла, если у вас есть доступ к без разделительной версии, вы можете загрузить его в gdb, а также указать основной файл.

Взгляните на главы 13 и 15 из gdb manual, чтобы помочь предоставить gdb доступ к вашим исходным файлам.

Смежные вопросы