Ich habe nächsten Workflow:Warum habe ich falsche Debug-Symbole?
1) Erstellen Sie DLL-und PDB-Dateien.
2) Teile dll
3) Analize Speicherabbild von Kunden cutomer.
Wenn ich !analyze -v
in WinDbg
betreibe ich bekam (unten Teil Ausgabe)
....
MANAGED_STACK_COMMAND: _EFN_StackTrace
PRIMARY_PROBLEM_CLASS: WRONG_SYMBOLS
BUGCHECK_STR: APPLICATION_FAULT_WRONG_SYMBOLS
// some callstack here
MODULE_NAME: RTPLogic
IMAGE_NAME: RTPLogic.dll
DEBUG_FLR_IMAGE_TIMESTAMP: 58a43706
STACK_COMMAND: ~541s; .ecxr ; kb
FAILURE_BUCKET_ID: WRONG_SYMBOLS_c0000374_RTPLogic.dll!CSRTPStack::Finalize
BUCKET_ID: X64_APPLICATION_FAULT_WRONG_SYMBOLS_rtplogic!CSRTPStack::Finalize+1da
Sieht aus wie wir für RTPLogic.dll
falsch Debug-Symbol haben. Ich lade ChkMatch
Werkzeug herunter. ich pdb Weg von windbg
0:541> !lmi RTPlogic.dll
Loaded Module Info: [rtplogic.dll]
Module: RTPLogic
.....
Age: 1, Pdb: D:\Work\path_to_original_pdb\RTPLogic.pdb
Image Type: MEMORY - Image read successfully from loaded memory.
Symbol Type: PDB - Symbols loaded successfully from image header.
C:\ProgramData\dbg\sym\RTPLogic.pdb\9F82CDF359044635ADEBA578CA1D1D031\RTPLogic.pdb
Compiler: Resource - front end [0.0 bld 0] - back end [9.0 bld 21022]
Load Report: private symbols & lines, not source indexed
C:\ProgramData\dbg\sym\RTPLogic.pdb\9F82CDF359044635ADEBA578CA1D1D031\RTPLogic.pdb
I Protokolle dieser Absteige im Zusammenhang haben, und ich sehe, dass meine Änderungen in Protokollen angezeigt. Also Kunde nicht vergessen, meine DLL zu installieren, bevor Sie den mddump bekommen. Ich betreibe ChkMatch
PS D:\tools> .\ChkMatch.exe -c "D:\Work\path_to_dll\RTPLogic.dll" "C:\Progra
mData\dbg\sym\RTPLogic.pdb\9F82CDF359044635ADEBA578CA1D1D031\RTPLogic.pdb"
.....
Result: Matched
es wie möglich, dass ich falsch Debug-Symbole in einer solchen Situation geraten?
Das ist zu wenig Information, zu vage. Könnten Sie bitte eine konkrete Ausgabe veröffentlichen? Was ist die genaue Ausgabe von ChkMatch, was ist der genaue Warnungstext in WinDbg? Was ist der Symbolpfad? Verwenden beide Tools wirklich dieselben Dateien? Schreibe die Ausgabe von 'lm',' .symopt' und '.sympath' in WinDbg. Normalerweise lädt WinDbg nicht übereinstimmende Symbole überhaupt nicht. Wenn dies der Fall ist, haben Sie bereits etwas "gezwängt". –
Ok, aber jetzt sieht es nach einer anderen Frage aus. –
Was Sie der Frage hinzugefügt haben, bestätigt, was ich vorhatte. Ich kann jetzt Ihre Frage mit mehr Selbstvertrauen beantworten.+1 für die Nachverfolgung und Bereitstellung der notwendigen Informationen –