Там какие-либо инструменты должны просматривать/редактировать память пространства пользователя выполнения процессов на Linux?
Это было бы большое средство обучения.
Память процесса доступна как файл /proc/12345/mem
где 12345 идентификатор процесса. Вы не сможете узнать о чем-либо непосредственно из него некоторое время все же, все же. Первая вещь выяснить - какие части отображаются; эта информация доступна в /proc/12345/maps
и /proc/12345/smaps
. Записи в /proc
документируются в документацию ядра в Documentation/filesystems/proc.txt
. lsof
команда даст информацию о файлах, которые процесс отобразил в память более читаемым способом.
Это может быть более поучительно для рассмотрения рабочего процесса с отладчиком. Обычным отладчиком в соответствии с Linux является Gdb. Gdb имеет простой интерфейс командной строки; DDD и Emacs обеспечивают более удобные для пользователя интерфейсы. Для лучших результатов посмотрите на программу, которая все еще имеет отладочную информацию и чей источник доступен (т.е. посмотрите на программу, с которой Вы просто скомпилировали -g
и не разделили).
Необходимо также знать о strace
для наблюдения системных вызовов, процесс делает, и ltrace
наблюдать (немного) вызовы библиотеки.