Как просмотреть файл CoreDump?

При сообщении об ошибке в результате сбоя ошибка становится закрытой и файл называется CoreDump.gz. В документации по ошибкам сортировки говорится следующее:

Если в аварии все еще есть вложение CoreDump.gz, то было невозможно автоматически получить полностью символическую трассировку стека и проверить наличие дубликатов.

Stacktrace.txt кажется читаемым человеком. Как я могу понять значение трассировки стека. CoreDump без CoreDump.gz не кажется читаемым человеком. Что такое «полностью символическая трассировка стека»? В чем разница между «полностью символической трассировкой стека». Как просмотреть содержимое файла CoreDump? (попробовал "кошку", но она не чистая)

13
задан 10 May 2012 в 06:28

1 ответ

Coredump.gz - это (сжатая) память, доступная в результате сбоя программы. Это бинарный файл. Coredumps - сокровищница, где можно добывать всевозможные личные данные.

Coredumps можно просмотреть, запустив 'gdb':

gdb --core=mycoredump

Конечно, вам все равно понадобятся пакеты отладки, связанные с этим ядром.

Затем вы можете сгенерировать трассировку стека с помощью:

(gdb) bt

, чтобы сгенерировать трассировку стека текущего потока - без разрешения параметров, или

(gdb) thread apply all bt full

, чтобы сгенерировать трассировка стека всех потоков в coredump с разрешением параметров.

stacktrace и full stacktraces показывают поток управления внутри программы. Для Python верхняя часть трассировки стека показывает самый старый вызов, а самый последний - внизу; почти во всем остальном верх - самый последний звонок, а низ - самый старый.

Полная трассировка стека покажет не только поток, но и значения параметра. Именно здесь мы обычно находим личные данные - например, скажем, вы видите функцию с именем validatePassword с параметром с именем Password и значением MySecretPassword ...

Stacktraces обычно полезны только в том случае, если установлены пакеты отладки (так что кадры стека могут быть преобразованы во что-то, что мы легко читаем). Анализ трассировки стека потребует наличия источников, которые использовались для создания этого конкретного экземпляра программы.

0
ответ дан 10 May 2012 в 06:28

Другие вопросы по тегам:

Похожие вопросы: