Ich versuche zu entschlüsseln, wie/proc/pid/pagemap zu verwenden, um die physische Adresse eines bestimmten Satzes von Seiten zu erhalten. Angenommen, aus/proc/pid/maps erhalte ich die virtuelle Adresse afa2d000-afa42000, die dem Heap entspricht. Meine Frage ist, wie verwende ich diese Informationen, um die pagmap-Datei zu durchlaufen und finde die physischen Seitenrahmen, die der Adresse afa2d000-afa42000 entsprechen.Wie dekodieren/proc/pid/pagemap Einträge in Linux?
Der Eintrag/proc/pid/pagemap ist im Binärformat. Gibt es Tools, um die Analyse dieser Datei zu erleichtern?
Haben Sie page-analyse.cpp erfolgreich kompiliert, abgesehen von der fehlenden #include bekomme ich diesen Compilerfehler: 'page-analyze.cpp: In Funktion 'void make_kurzname (char *, const char *)': page-analyze.cpp: 135: 35: Fehler: Zuweisung des schreibgeschützten Speicherortes '* strchr (b, 93)' make: ** * [page-analyze] Fehler 1' –
JohnnyFromBF
Es tut mir leid, Link beiseite, die Antwort sollte selbst Sinn machen, aber ist IMO sehr schlecht geschrieben. Benötigte Formatierung, die Quelle der Daten ist nicht klar/demonstriert ... auch dass "mod" "div" sein muss – nhed