Probleme bei der Nutzung von umdh
-
Moin zusammen.
Um eine Memory-Leak-Analyse zu machen, bin ich auf das Tool umdh aus dem Windows Debugging Toolkit gestoßen.
Leider habe ich Probleme mit den Symbolen meiner Applikation.
Was ich gemacht habe:
- gflags.exe auf der Zielhardware aufgerufen, um die user mode stack trace database zu erstellen
- meine Applikation mit DEBUG übersetzt, um die Symbole in *.pdb Dateien zu haben
- Applikation auf der Ziel-HW laufen lassen
- mit "umdh -pn:MemoryLeakTest.exe -f:log1.txt" einen Log aufgenommen
- mit "umdh -pn:MemoryLeakTest.exe -f:log2.txt" einen weiteren Log aufgenommen
- mit "set _NT_SYMBOL_PATH=S:\WindowsDebugging\symbolsXPSP1;S:\WindowsDebugging\MemoryLeakTest" die Pfade auf meine Symbole und zu denen von Windows XP SP1 gesetzt
- wenn ich nun mit "umdh log1.txt log2.txt > logcompare.txt" ein Compare machen will, steht im Ergebnis-File, dass die Symbole meiner Applikation nicht geladen wurden. Die von Windows wurden aber geladen...Das Logfile von DBGHELP sagt Folgendes:
DBGHELP: new session: Mon Jan 02 11:04:46 2012
DBGHELP: _NT_SYMBOL_PATH: S:\WindowsDebugging\symbolsXPSP1;S:\WindowsDebugging\MemoryLeakTest
DBGHELP: Symbol Search Path: .;S:\WindowsDebugging\symbolsXPSP1;S:\WindowsDebugging\MemoryLeakTest
DBGHELP: .\umdh.pdb - file not found
DBGHELP: .\exe\umdh.pdb - file not found
DBGHELP: .\symbols\exe\umdh.pdb - file not found
DBGHELP: S:\WindowsDebugging\symbolsXPSP1\umdh.pdb - file not found
DBGHELP: S:\WindowsDebugging\symbolsXPSP1\exe\umdh.pdb - file not found
DBGHELP: S:\WindowsDebugging\symbolsXPSP1\symbols\exe\umdh.pdb - file not found
DBGHELP: S:\WindowsDebugging\MemoryLeakTest\umdh.pdb - file not found
DBGHELP: S:\WindowsDebugging\MemoryLeakTest\exe\umdh.pdb - file not found
DBGHELP: S:\WindowsDebugging\MemoryLeakTest\symbols\exe\umdh.pdb - file not found
DBGHELP: umdh.pdb - file not found
DBGHELP: MemoryLeakInThread_60 - no symbols loaded
DBGHELP: .\ntdll.pdb - file not found
DBGHELP: .\dll\ntdll.pdb - file not found
DBGHELP: .\symbols\dll\ntdll.pdb - file not found
DBGHELP: S:\WindowsDebugging\symbolsXPSP1\ntdll.pdb - file not found
DBGHELP: ntdll - public symbols
S:\WindowsDebugging\symbolsXPSP1\dll\ntdll.pdb
DBGHELP: .\kernel32.pdb - file not found
DBGHELP: .\dll\kernel32.pdb - file not found
DBGHELP: .\symbols\dll\kernel32.pdb - file not found
DBGHELP: S:\WindowsDebugging\symbolsXPSP1\kernel32.pdb - file not found
DBGHELP: kernel32 - public symbols
S:\WindowsDebugging\symbolsXPSP1\dll\kernel32.pdb
DBGHELP: closing session: Mon Jan 02 11:04:46 2012Was mache ich denn falsch, dass das Tool die Symbole in der *.pdb Datei nicht findet? Hab das File schon in unterschiedlichen Ordnern ausprobiert.
Ich dachte schon daran, dass es daran liegt, dass S:\ ein Netzlaufwerk ist, aber die Windows Symbole werden trotzdem gefunden.Bin ratlos
/edit: Ich wundere mich, dass laut Logdatei das File umdh.pdb gesucht wird. Das habe ich aber nirgends gefunden. Wofür braucht das Tool diese pdb?