IDebugControl::SetEngineOptions-Methode (dbgeng.h)
Die SetEngineOptions-Methode ändert die Optionen der Engine.
Syntax
HRESULT SetEngineOptions(
[in] ULONG Options
);
Parameter
[in] Options
Gibt die neuen Optionen der Engine an. Optionen ist ein Bitsatz; Sie ersetzt die vorhandenen Symboloptionen. Eine Beschreibung der Engine-Optionen finden Sie unter Hinweise.
Rückgabewert
Diese Methode gibt möglicherweise auch Fehlerwerte zurück. Weitere Informationen finden Sie unter Rückgabewerte .
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode war erfolgreich. |
Hinweise
Mit dieser Methode werden die Optionen der Engine auf die unter Optionen angegebenen Optionen festgelegt. Im Gegensatz zu AddEngineOptions werden alle Symboloptionen entfernt, die nicht im Options-Bitsatz aufgeführt sind.
Nachdem die Engine-Optionen geändert wurden, sendet die Engine eine Benachrichtigung an das Ereignisrückrufobjekt jedes Clients, indem das flag DEBUG_CES_ENGINE_OPTIONS an die IDebugEventCallbacks::ChangeEngineState-Methode übergeben wird.
Die folgenden globalen Optionen wirken sich auf das Verhalten der Debugger-Engine aus:
Dauerhaft | BESCHREIBUNG |
---|---|
DEBUG_ENGOPT_IGNORE_DBGHELP_VERSION | Die Debugger-Engine generiert eine Warnung anstelle eines Fehlers, wenn die Version der DbgHelp-DLL nicht mit der Version der Debugger-Engine übereinstimmt. |
DEBUG_ENGOPT_IGNORE_EXTENSION_VERSIONS | Deaktivieren Sie die Versionsüberprüfung für Erweiterungen. Dadurch wird der Aufruf von CheckVersion durch die Debugger-Engine unterdrückt. |
DEBUG_ENGOPT_ALLOW_NETWORK_PATHS |
Netzwerkfreigaben können zum Laden von Symbolen und Erweiterungen verwendet werden. Diese Option verhindert, dass die Engine beim Debuggen einiger Systemprozesse keine Netzwerkpfade mehr zuweappt und sollte mit Vorsicht verwendet werden.
Diese Option kann nicht festgelegt werden, wenn DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS festgelegt ist. |
DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS |
Netzwerkfreigaben können nicht zum Laden von Symbolen und Erweiterungen verwendet werden. Die Engine versucht, diese Option beim Debuggen einiger Systemprozesse festzulegen.
Diese Option kann nicht festgelegt werden, wenn DEBUG_ENGOPT_ALLOW_NETWORK_PATHS festgelegt ist. |
DEBUG_ENGOPT_NETWORK_PATHS | Bitweises OR von DEBUG_ENGOPT_ALLOW_NETWORK_PATHS und DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS. |
DEBUG_ENGOPT_IGNORE_LOADER_EXCEPTIONS |
Ignorieren Sie erwartete Ausnahmen für die erste Chance, die vom Ladeprogramm in bestimmten Versionen von Windows generiert werden.
Diese Option ermöglicht beispielsweise die Ausführung von Windows 3.51-Binärdateien beim Debuggen von Windows 3.1- und 3.5-Systemen. |
DEBUG_ENGOPT_INITIAL_BREAK | Unterbrechen Sie den Debugger beim anfänglichen Ereignis des Ziels. |
DEBUG_ENGOPT_INITIAL_MODULE_BREAK | Unterbrechen Sie den Debugger, wenn das Ziel sein erstes Modul lädt. |
DEBUG_ENGOPT_FINAL_BREAK | Unterbrechen Sie den Debugger beim letzten Ereignis des Ziels. In einem Livebenutzermodusziel wird der Prozess beendet. Es hat keine Auswirkungen im Kernelmodus. |
DEBUG_ENGOPT_NO_EXECUTE_REPEAT | Wenn ein leerer Befehl angegeben wird, wiederholt die Debugger-Engine den letzten Befehl nicht. |
DEBUG_ENGOPT_FAIL_INCOMPLETE_INFORMATION |
Verhindern, dass der Debugger Module lädt, deren Images nicht zugeordnet werden können.
Der Debugger versucht, Bilder beim Debuggen von Minidumps zu laden, die keine Bilder enthalten. |
DEBUG_ENGOPT_ALLOW_READ_ONLY_BREAKPOINTS |
Erlauben Sie der Debugger-Engine, Seitenschutz auf dem Ziel zu bearbeiten, um das Festlegen von Softwarehaltepunkten in einem schreibgeschützten Speicherabschnitt zu ermöglichen.
Beim Festlegen von Softwarehaltepunkten ändert die Engine transparent den Speicher des Ziels, um eine Interruptanweisung einzufügen. |
DEBUG_ENGOPT_SYNCHRONIZE_BREAKPOINTS |
Beim Debuggen im Livebenutzermodus führt die Engine zusätzliche Arbeit beim Einfügen und Entfernen von Haltepunkten aus, um sicherzustellen, dass alle Threads im Ziel jederzeit über einen konsistenten Haltepunktzustand verfügen.
Diese Option ist nützlich, wenn mehrere Threads den Code verwenden können, für den der Haltepunkt festgelegt ist. Es kann jedoch zu Deadlocks führen. |
DEBUG_ENGOPT_DISALLOW_SHELL_COMMANDS |
Die Ausführung von Shellbefehlen über den Debugger ist nicht zulässig.
Nachdem diese Option festgelegt wurde, kann sie nicht mehr festgelegt werden. |
DEBUG_ENGOPT_KD_QUIET_MODE | Aktivieren Sie den stillen Modus. Weitere Informationen finden Sie unter sq (Set Quiet Mode). |
DEBUG_ENGOPT_DISABLE_MANAGED_SUPPORT | Deaktiviert die Unterstützung der Debugger-Engine für verwalteten Code. Wenn die Unterstützung für verwalteten Code bereits verwendet wird, hat diese Option keine Auswirkungen. |
DEBUG_ENGOPT_DISABLE_MODULE_SYMBOL_LOAD | Der Debugger lädt keine Symbole für Module, die geladen werden, während dieses Flag festgelegt ist. |
DEBUG_ENGOPT_DISABLE_EXECUTION_COMMANDS | Verhindert alle Befehle, die dazu führen würden, dass das Ziel mit der Ausführung beginnt. |
DEBUG_ENGOPT_DISALLOW_IMAGE_FILE_MAPPING | Die Zuordnung von Imagedateien vom Datenträger ist nicht zulässig. Beispielsweise lässt diese Option die Bildzuordnung für Speicherinhalte während des Debuggens von Minidump-Dateien nicht zu. Diese Option wirkt sich nicht auf vorhandene Zuordnungen aus. Dies wirkt sich nur auf nachfolgende Versuche aus, Bilddateien zuzuordnen. |
DEBUG_ENGOPT_PREFER_DML | Der Debugger führt standardmäßig dml-erweiterte Versionen von Befehlen und Vorgängen aus. |
DEBUG_ENGOPT_DISABLESQM | Deaktiviert den Upload von Qm-Daten (Software Quality Metrics). |
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | dbgeng.h (dbgeng.h einschließen) |