Freigeben über


IDebugControl::SetEngineOptions-Methode (dbgeng.h)

Die SetEngineOptions Methode ändert die Optionen des Moduls.

Syntax

HRESULT SetEngineOptions(
  [in] ULONG Options
);

Parameter

[in] Options

Gibt die neuen Optionen des Moduls an. Optionen ist ein Bitsatz; sie ersetzt die vorhandenen Symboloptionen. Eine Beschreibung der Moduloptionen finden Sie in den Hinweisen.

Rückgabewert

Diese Methode kann auch Fehlerwerte zurückgeben. Weitere Informationen finden Sie unter Rückgabewerte.

Rückgabecode Beschreibung
S_OK
Die Methode war erfolgreich.

Bemerkungen

Diese Methode legt die Optionen des Moduls auf die optionen fest, die in Optionsangegeben sind. Im Gegensatz zu AddEngineOptions-werden alle Symboloptionen, die nicht in den Optionen Bitsatz aufgeführt sind, entfernt.

Nachdem die Moduloptionen geändert wurden, sendet das Modul eine Benachrichtigung an das Ereignisrückrufobjekt jedes Clients, indem das DEBUG_CES_ENGINE_OPTIONS Flag an die IDebugEventCallbacks::ChangeEngineState-Methode übergeben wird.

Die folgenden globalen Optionen wirken sich auf das Verhalten des Debuggermodulsaus:

Konstante Beschreibung
DEBUG_ENGOPT_IGNORE_DBGHELP_VERSION Das Debuggermodul generiert eine Warnung anstelle eines Fehlers, wenn die Version der DbgHelp-DLL nicht mit der Version des Debuggermoduls übereinstimmt.
DEBUG_ENGOPT_IGNORE_EXTENSION_VERSIONS Deaktivieren Sie die Versionsüberprüfung auf Erweiterungen. Dadurch wird der Aufruf des Debuggermoduls an CheckVersion-unterdrückt.
DEBUG_ENGOPT_ALLOW_NETWORK_PATHS Netzwerkfreigaben können zum Laden von Symbolen und Erweiterungen verwendet werden. Mit dieser Option wird verhindert, dass das Modul beim Debuggen einiger Systemprozesse Netzwerkpfade nicht zuweht und mit Vorsicht verwendet werden sollte.

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. Das Modul 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 Bitweise ODER von DEBUG_ENGOPT_ALLOW_NETWORK_PATHS und DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS.
DEBUG_ENGOPT_IGNORE_LOADER_EXCEPTIONS Ignorieren Sie erwartete Ausnahmen mit der ersten Chance, die vom Ladeprogramm in bestimmten Versionen von Windows generiert werden.

Mit dieser Option können z. B. Windows 3.51-Binärdateien beim Debuggen von Windows 3.1- und 3.5-Systemen ausgeführt werden.

DEBUG_ENGOPT_INITIAL_BREAK Unterbrechen Sie den Debugger beim ersten Ereignis des Ziels.
DEBUG_ENGOPT_INITIAL_MODULE_BREAK Unterbrechen Sie den Debugger, wenn das Ziel das erste Modul lädt.
DEBUG_ENGOPT_FINAL_BREAK Unterbrechen Sie den Debugger beim endgültigen Ereignis des Ziels. In einem Ziel für den Livebenutzermodus wird der Prozess beendet. Sie hat keine Auswirkung im Kernelmodus.
DEBUG_ENGOPT_NO_EXECUTE_REPEAT Wenn ein leerer Befehl angegeben ist, wiederholt das Debuggermodul nicht den letzten Befehl.
DEBUG_ENGOPT_FAIL_INCOMPLETE_INFORMATION Verhindern, dass der Debugger Module lädt, deren Bilder 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 Zulassen, dass das Debuggermodul Seitenschutz auf dem Ziel bearbeiten kann, um das Festlegen von Software-Haltepunkten in einem schreibgeschützten Speicherabschnitt zu ermöglichen.

Beim Festlegen von Software-Haltepunkten ändert das Modul transparent den Speicher des Ziels, um eine Unterbrechungsanweisung einzufügen.

DEBUG_ENGOPT_SYNCHRONIZE_BREAKPOINTS Beim Debuggen im Livebenutzermodus führt das Modul beim Einfügen und Entfernen von Haltepunkten zusätzliche Arbeit 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. Sie kann jedoch die Möglichkeit von Deadlocks einführen.

DEBUG_ENGOPT_DISALLOW_SHELL_COMMANDS Das Ausführen von Shellbefehlen über den Debugger nicht zulassen.

Nachdem diese Option festgelegt wurde, kann sie nicht mehr festgelegt werden.

DEBUG_ENGOPT_KD_QUIET_MODE Aktivieren Sie den ruhen Modus. Weitere Informationen finden Sie unter sq (Set Quiet Mode).
DEBUG_ENGOPT_DISABLE_MANAGED_SUPPORT Deaktiviert die Unterstützung des Debuggermoduls für verwalteten Code. Wenn die Unterstützung für verwalteten Code bereits verwendet wird, hat diese Option keine Auswirkung.
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 Bilddateien vom Datenträger ist unzulässig. Mit dieser Option wird beispielsweise die Bildzuordnung für Speicherinhalte beim Debuggen von Minidumpdateien nicht zulässig. Diese Option wirkt sich nicht auf vorhandene Zuordnungen aus. es 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 das Hochladen von Daten zur Softwarequalitätsmetrik (SQM).

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- dbgeng.h (include Dbgeng.h)

Siehe auch

AddEngineOptions-

GetEngineOptions-

IDebugControl-

IDebugControl2-

IDebugControl3-

RemoveEngineOptions-