Инструменты для просматривания/редактирования памяти пространства пользователя выполнения процессов?

Там какие-либо инструменты должны просматривать/редактировать память пространства пользователя выполнения процессов на Linux?

Это было бы большое средство обучения.

7
задан 03.11.2010, 01:16

1 ответ

Память процесса доступна как файл /proc/12345/mem где 12345 идентификатор процесса. Вы не сможете узнать о чем-либо непосредственно из него некоторое время все же, все же. Первая вещь выяснить - какие части отображаются; эта информация доступна в /proc/12345/maps и /proc/12345/smaps. Записи в /proc документируются в документацию ядра в Documentation/filesystems/proc.txt. lsof команда даст информацию о файлах, которые процесс отобразил в память более читаемым способом.

Это может быть более поучительно для рассмотрения рабочего процесса с отладчиком. Обычным отладчиком в соответствии с Linux является Gdb. Gdb имеет простой интерфейс командной строки; DDD и Emacs обеспечивают более удобные для пользователя интерфейсы. Для лучших результатов посмотрите на программу, которая все еще имеет отладочную информацию и чей источник доступен (т.е. посмотрите на программу, с которой Вы просто скомпилировали -g и не разделили).

Необходимо также знать о strace для наблюдения системных вызовов, процесс делает, и ltrace наблюдать (немного) вызовы библиотеки.

5
ответ дан 07.12.2019, 15:07

Теги

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