![]() |
Ein Speicherabbild eines Prozesses erstellen, aber wie
Hi :mrgreen:
ich habe folgendes Problem: Ich lasse mir eine Liste der Prozesse mit Dateinamen und ProzessId ausgeben. Nun wird mit OpenProcess() ein ausgewählter Prozess geöffnet. Bis hier alles in Ordnung. Mit ReadProcessMemory() kann ich nun den Speicher auslesen, oder mit WriteProcessMemory() reinschreiben. Funktioniert auch, aber gibt es eine Möglichkeit, sowas wie ein Speicherabbild eines Prozesses zu erstellen ? Ich müsste dazu ja eigentlich nur die Anfangsadresse und den Speicherbedarf herausfinden, oder ? Es wäre ja sinnlos den ganzen Adressraum auszulesen (2GB), wenn das Programm nur 2MB Speicher belegt. Thx im vorraus :hi: . |
Re: Ein Speicherabbild eines Prozesses erstellen, aber wie
Warscheinlich hilft dir da
![]() Nur, was bringt dir das? Willst du den Prozess dumpen, ein Speicherabbild zur Analyse, oder was willst du denn sonst damit machen? ciao, Philipp |
Re: Ein Speicherabbild eines Prozesses erstellen, aber wie
falls es dir darum geht speicherlecks zu finden könnteste memproof benutzen.
|
Re: Ein Speicherabbild eines Prozesses erstellen, aber wie
@QuickAndDirty: es geht nicht darum, Speicherlecks zu finden, sondern darum die Addresse einer Variable anhand ihres Inhalts zu suchen.
@c113plpbr: über ![]() Nun habe ich alles schon soweit, das ich die einzelnen Speicherblöcke ermitteln kann, aber es sind zu viele. Ich habs schon eingegrenzt auf einen Bereich zwischen MinimumApplicationAddress und MaximumApplicationAddress wobei MemInfo.State = MEM_COMMIT ist (MemInfo = MEMORY_BASIC_INFORMATION, gesetzt von VIRTUALQUERYEX). Muss ich noch weiter eingrenzen, oder was mache ich falsch ? Unter Win2000 zeigt der Taskmanager für "System" eine Speicherbelegung von 216 KB, ich erhalte Werte von 700.000 Byte. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz