Wenn ich SymEnumSourceFiles
verwende, um alle Dateien aufzuzählen, die von einem Debug-Programm geladen werden, ist das kein Problem. Aber wenn es durch das Release-Programm ersetzt wird, kann es nicht funktionieren, und GetLastError
gibt 0
zurück. Wenn ich alle Dateien auflisten möchte, die von einem Release-Programm geladen wurden. was soll ich machen?Kann ich das Release-Programm SymEnumSourceFiles verwenden?
0
A
Antwort
0
Ich habe dieses Problem gelöst. Im Realease-Modus müssen wir den Pfad zur PDB angeben. Fügen Sie diese Codezeile hinzu, bevor SymEnumSourceFiles
OK ist.
SymSetSearchPathW(hProcess_, pdbPath);
0
Wenn ich Ihre Frage richtig verstanden habe, sagen Sie, dass SymEnumSourceFiles
für Debug-Build-Programme erfolgreich ist, aber für Release-Builds fehlschlägt. Wenn das der Fall ist, benötigt Ihr Programm nur .PDB
Datei zusammen mit.
Sie müssen /DEBUG
in Linker Einstellung des Projekts angeben. Nein Es macht nicht Release erstellen einen Debug-Build - alle Optimierungen bleiben, nur dass .PDB-Datei generiert wird.
Vielen Dank! Aber das Release-Build-Programm hat auch .PDB-Datei, und ich gebe nicht/DEBUG in Linker Einstellung des Projekts. –