Frage

Ich habe in dieser Frage gesucht und fand viele Aromen und Ideen, aber keine echten Lösungen.Also, meinen Asbestanzug und hofft auf das Beste, ich werde es wagen, es noch einmal zu fragen.

Ich habe C # -Code verwaltet, der verwaltete C ++-Code anruft, der wiederum den nicht verwalteten C ++ - Code anrufen.Der nicht verwaltete C ++ - Code wirft eine Ausnahme, und ich möchte, dass ich dadurch debuggen kann.Wenn ich jedoch versuche, (explizit über den Anrufstapel) die Symbole zu laden, erhalte ich die gefürchtete "Die Symboldatei myfile.pdb stimmt nicht mit dem Modul" Fehler "an.

Ich vermute, dass dies ein generischer Fehlercode ist, der zurückgegeben wird, da die Dateien aus demselben Build sind.Verwenden der chkmatch Werkzeug scheint zu bestätigen, dass die Dateien tatsächlich übereinstimmen.

Jede Hilfe sehr geschätzt ... wts

War es hilfreich?

Lösung

lohnt sich möglicherweise, den Pfad der geladenen DLL zu überprüfen - verwenden Sie denjenigen, den Sie an Sie gedacht haben?

Wenn Sie inkrementellen Builds verwenden, benötigen Sie möglicherweise auch IDB-Dateien

Ich hatte ein Problem, in dem MSVC nicht damals keine Debug-Symbole sehen wollte, nicht herausgefunden, warum, aber stattdessen mit Crashfinder oder Windbg um das Problem herumgearbeitet.Vielleicht wird ein Neustart wieder funktionieren.

Sie können Symholore während Ihres Builds verwenden, um sicherzustellen, dass alle PDBs zuverlässiger erfasst werden, auf diese Weise können Sie auch über mehrere Builds einer Datei debuggen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top