8 Stimmen

Dienstprogramm zur Anzeige der Dateien/Dlls, die von einem ausführbaren Image geladen werden

Ich weiß, dass es dafür ein Dienstprogramm gibt, weil ich es früher benutzt habe... ich kann mich nur nicht mehr an den Namen erinnern. Ich bin auf der Suche nach einem Dienstprogramm für Windows (Windows-7), mit dem ich ein ausführbares Image auswählen kann, das ausgeführt wird, und das mir sagt, welche Dateien/Dlls das Programm geladen hat und aus welchem Verzeichnis. Ich schreibe Software in Visual Studio und würde gerne zur Laufzeit überprüfen, welche DLLs mein Programm lädt.

24voto

Hans Passant Punkte 894572

Visual Studio kann das gut. Verwenden Sie Tools > An Prozess anhängen, Debug > Alles abbrechen. Dann Debuggen > Fenster > Module. Für VS2015+ starten Sie das mit Debug > Attach to Process.

13voto

RoboAlex Punkte 4706

0 Stimmen

Das ist der "Process Explorer"...ein hervorragendes kleines Dienstprogramm. Danke!

3 Stimmen

Sie haben vergessen zu sagen, wie man das mit dem Prozess-Explorer macht. Er zeigt eine Menge an, aber ich sehe nirgendwo eine Liste der DLL-Dateien.

4 Stimmen

Um DLLs zu sehen, die von einem Prozess mit PE geladen wurden, wählen Sie View->Lower Pane View->DLLs .

4voto

chappjc Punkte 29904

Der Befehlszeilenweg lautet ListDLLs von Sysinternals.

Sie kann DLLs auflisten, die von einem Prozess geladen wurden, oder Prozesse auflisten, die eine bestimmte DLL geladen haben.

0 Stimmen

Achtung: In manchen Fällen ist die Liste, die das genannte Tool liefert, unvollständig.

2voto

Heelara Punkte 631

Anstatt irgendwelche Tools von Drittanbietern zu installieren, könnten wir Microsofts tasklist . Um z. B. die geladenen DLLs für ein Programm anhand seines Namens anzuzeigen, gehen Sie folgendermaßen vor:

C:\>tasklist /m /fi "imagename eq PacketAnalyzerPlus.exe"

Image Name                     PID Modules
========================= ======== ============================================
PacketAnalyzerPlus.exe        3904 ntdll.dll, wow64.dll, wow64win.dll,
                                   wow64cpu.dll

wobei die angegebenen Optionen wie folgt lauten:

/m <Modul> - Listet alle Aufgaben mit geladenen DLL-Modulen auf, die dem angegebenen Musternamen entsprechen. Wenn der Modulname nicht angegeben wird, zeigt diese Option alle von jeder Aufgabe geladenen Module an.

/fi <Filter> - Gibt die Prozesstypen an, die in die Abfrage einbezogen oder von ihr ausgeschlossen werden sollen. Sie können mehr als einen Filter verwenden oder mit dem Platzhalterzeichen () alle Aufgaben oder Bildnamen angeben.

Wenn es sich um einen Windows-Dienst handelt, verwenden Sie den Filter services . Um z.B. alle DLLs für den Dienst zu finden Winmgmt verwenden Sie dies:

C:\>tasklist /m /fi "services eq Winmgmt"

Image Name                     PID Modules
========================= ======== ============================================
svchost.exe                    872 ntdll.dll, kernel32.dll, KERNELBASE.dll,
                                   msvcrt.dll, sechost.dll, RPCRT4.dll,
                                   ole32.dll, GDI32.dll, USER32.dll, LPK.dll,
                                   USP10.dll, IMM32.DLL, MSCTF.dll,...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X