Crash-dump - WinDbg - Kraft-PDB-Dateien entsprechen nicht funktioniert?
Habe ich einen crash-dump für die Anwendung des Kunden gebaut mit einer sehr alten version von unseren dll (release build, don ' T haben die ursprünglichen Symbole) , ich habe die Analyse in WinDbg.
Um mehr Informationen zu erhalten, die ich neu erstellt die dll im release-Modus, mit Symbolen dieser Zeit, mit den gleichen compiler-version und ich glaube, dass die gleichen Einstellungen wie bei der dll war ursprünglich gebaut. Ich fügte hinzu, die symbol-Datei auf mein symbol Weg, aber der WinDbg Erweiterung !itoldyouso sagt mir das Modul im dump nicht mit der PDB-Datei. Aktivieren SYMOPT_LOAD_ANYTHING nicht helfen, entweder.
!itoldyouso sagt mir, dass Sie nicht übereinstimmen, weil das Modul hat keine pdb-sig (Wert 0), gegen die neue symbol-Datei, die ich gemacht (mit einem gültigen pdb sig). Wie bekomme ich Ihnen zu entsprechen?
InformationsquelleAutor JosephA | 2014-02-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht
.reload /i foo.dll
?Für ausführliche Ausgabe versuchen:
!sym noisy;.reload /i foo.dll;x foo!*test*
Natürlich wird Sie gemeldet werden, nicht überein, denn Sie wurden nicht gebaut, wenn die DLL gebaut wurde. Aber solange man den gleichen compiler und die Einstellung (die du erwähnt hast) UND der source-code hat sich nicht geändert, dann die Symbole funktionieren sollte.
Ich nehme an, ich war Betrieb auf der Annahme, es sei denn, ich habe ein Spiel das ich einfach nicht Vertrauen können im call-stack, obwohl Sie vielleicht, wie Sie sagten, Sie werden nie mit, aber vielleicht trotz, dass ich immer noch eine meist gültige call-stack.
Warum funktioniert das? Das ist, was macht
/i
bedeuten?Von Windbg-Hilfe: "Ignoriert ein Missverhältnis in der .pdb-Datei-Versionen."
InformationsquelleAutor Marc Sherman
Versuchen chkmatch (http://debuginfo.com/tools/chkmatch.html) - es ist in der Lage zu überschreiben Signaturen in der pdb-Datei also exe-und pdb entspricht. Auch, vor einiger Zeit schrieb ich einen post über die überprüfung pdb-Dateien "offline", vielleicht finden Sie dort etwas nützliches: http://lowleveldesign.wordpress.com/2011/12/09/pdb-file-out-of-debugger/.
InformationsquelleAutor lowleveldesign
Seine bedauerlich, dass Sie nicht die passenden Symbole für Ihre DLL :(. Gemäß meinem Verständnis, ist jeder Versuch wird jetzt nicht in der Lage sein, um Ihnen eine exakte Anpassung PDB.
Recycling einige alte threads, die sollte helfen :
Ist es möglich auf die (wieder -) erstellen einer PDB-Datei nach einer DLL gemacht
Tool zu finden, wenn die dll (oder) exe-und PDB-Datei übereinstimmen
Ihre beste Wette wäre,
ein. synchronisieren Sie Ihren code zurück in die Zeit, als die DLL freigegeben wurde
b. erstellen Sie, und erstellen PDB mit dem gleichen Werkzeug-set.
c. verwenden .laden /i-option zu load-Symbole
InformationsquelleAutor Player