Как извлечь содержимое памяти из файла ядра процесса?

Я хочу проанализировать содержимое каждого блока памяти, созданного конкретным процессом. Так что я использовал gcore pid, чтобы получить дамп ядра процесса, но я не знаю, как извлечь содержимое, кто-нибудь может помочь?

1 ответ

В общем, хороший инструмент для анализа core свалка это gdb отладчик.

Таким образом, вы должны скомпилировать весь свой код с -g флаг переданgcc или же g++ или же clang (чтобы иметь отладочную информацию DWARF внутри вашего исполняемого файла ELF).

Затем вы можете проанализировать (посмертно или нет) дамп ядра вашей программы. myprog с командой gdb myprog core, Узнайте, как использоватьgdb, Заметить, что gdb является сценарием и расширяемым (в Python и Guile).

Вы могли (но, вероятно, не должны) анализировать core файл в противном случае (без gdb). Тогда вам нужно понять его подробный формат (а это может потребовать месяцев работы). См эльф (5) и ядро (5).

Кстати, валгринд также может быть полезным.

Вы могли бы даже использовать gdb проанализировать дамп ядра из программы, скомпилированной без -g но это гораздо менее полезно.

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