Debugging Tools for Windows

DEBUG_ENGOPT_XXX

The following global options affect the behavior of the debugger engine.

Value Effect when set
DEBUG_ENGOPT_IGNORE_DBGHELP_VERSION The debugger engine generates a warning instead of an error if the version of the DbgHelp DLL does not match the version of the debugger engine.
DEBUG_ENGOPT_IGNORE_EXTENSION_VERSIONS Disable version checking for extensions. This suppresses the debugger engine's call to CheckVersion.
DEBUG_ENGOPT_ALLOW_NETWORK_PATHS Network shares can be used for loading symbols and extensions. This option prevents the engine from disallowing network paths when debugging some system processes and should be used with caution.

This option cannot be set if DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS is set.

DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS Network shares cannot be used for loading symbols and extensions. The engine attempts to set this option when debugging some system processes.

This option cannot be set if DEBUG_ENGOPT_ALLOW_NETWORK_PATHS is set.

DEBUG_ENGOPT_IGNORE_LOADER_EXCEPTIONS Ignore expected first-chance exceptions that are generated by the loader in certain versions of Windows.

For example, this option allows Windows 3.51 binaries to run when debugging Windows 3.1 and 3.5 systems.

DEBUG_ENGOPT_INITIAL_BREAK Break into the debugger at the target's initial event.
DEBUG_ENGOPT_INITIAL_MODULE_BREAK Break into the debugger when the target loads its first module.
DEBUG_ENGOPT_FINAL_BREAK Break into the debugger at the target's final event. In a live user-mode target, this is when the process exits. It has no effect in kernel mode.
DEBUG_ENGOPT_NO_EXECUTE_REPEAT When given an empty command, the debugger engine does not repeat the last command.
DEBUG_ENGOPT_FAIL_INCOMPLETE_INFORMATION Prevent the debugger from loading modules whose images cannot be mapped.

The debugger attempts to load images when debugging minidumps that do not contain images.

DEBUG_ENGOPT_ALLOW_READ_ONLY_BREAKPOINTS Allow the debugger engine to manipulate page protections on the target to allow for setting software breakpoints in a read-only section of memory.

When setting software breakpoints, the engine transparently alters the target's memory to insert an interrupt instruction.

DEBUG_ENGOPT_SYNCHRONIZE_BREAKPOINTS In live user-mode debugging, the engine performs extra work when inserting and removing breakpoints to ensure that all threads in the target have a consistent breakpoint state at all times.

This option is useful when multiple threads can use the code for which the breakpoint is set. However, it can introduce the possibility of deadlocks.

DEBUG_ENGOPT_DISALLOW_SHELL_COMMANDS Disallow executing shell commands through the debugger.

After this option has been set, it cannot be unset.

DEBUG_ENGOPT_KD_QUIET_MODE Turn on quiet mode. For more information, see sq (Set Quiet Mode).
DEBUG_ENGOPT_DISABLE_MANAGED_SUPPORT Disables debugger engine support for managed code. If support for managed code is already in use, this option has no effect.
DEBUG_ENGOPT_DISABLE_MODULE_SYMBOL_LOAD The debugger does not load symbols for modules that are loaded while this flag is set.
DEBUG_ENGOPT_DISABLE_EXECUTION_COMMANDS Prevents any commands that would cause the target to begin executing.

Requirements

Headers: Defined in DbgEng.h. Include DbgEng.h.

See Also

AddEngineOptions, GetEngineOptions, RemoveEngineOptions, SetEngineOptions

Build machine: CAPEBUILD