Tools zum Anzeigen/Bearbeiten des Benutzerspeichers laufender Prozesse?

Tools zum Anzeigen/Bearbeiten des Benutzerspeichers laufender Prozesse?

Gibt es Tools zum Anzeigen/Bearbeiten des Benutzerspeichers laufender Prozesse unter Linux?

Es wäre ein großartiges Lernwerkzeug.

Antwort1

Der Speicher eines Prozesses ist als Datei verfügbar, /proc/12345/memwobei 12345 die Prozess-ID ist. Sie werden jedoch vorerst noch nichts direkt daraus erfahren können. Als Erstes müssen Sie herausfinden, welche Teile zugeordnet sind; diese Informationen sind in /proc/12345/mapsund verfügbar /proc/12345/smaps. Einträge in /procsind in der Kernel-Dokumentation unter dokumentiert.Documentation/filesystems/proc.txt. Der lsofBefehl gibt in besser lesbarer Form Informationen über die Dateien aus, die der Prozess in den Speicher abgebildet hat.

Es kann aufschlussreicher sein, den laufenden Prozess mit einem Debugger zu betrachten. Der übliche Debugger unter Linux istGdb. Gdb hat eine einfache Befehlszeilenschnittstelle;DDDUndEmacsbieten benutzerfreundlichere Schnittstellen. Die besten Ergebnisse erzielen Sie, wenn Sie sich ein Programm ansehen, das noch Debugsymbole enthält und dessen Quellcode verfügbar ist (d. h. ein Programm, das Sie gerade kompiliert haben -gund das Sie noch nicht entfernt haben).

Sie sollten auch wissen, dass straceSie die Systemaufrufe eines Prozesses und ltrace(einige) Bibliotheksaufrufe beobachten müssen.

verwandte Informationen