IDebugControl2::SetEngineOptions 方法 (dbgeng.h)

SetEngineOptions 方法更改引擎的选项。

语法

HRESULT SetEngineOptions(
  [in] ULONG Options
);

参数

[in] Options

指定引擎的新选项。 选项 是位设置的;它将替换现有的符号选项。 有关引擎选项的说明,请参阅备注。

返回值

此方法也可能返回错误值。 有关更多详细信息 ,请参阅返回值

返回代码 说明
S_OK
方法成功。

注解

此方法会将引擎的选项设置为 Options 中指定的选项。 与 AddEngineOptions 不同,将删除 选项 位集中未列出的任何符号选项。

更改引擎选项后,引擎将通过将 DEBUG_CES_ENGINE_OPTIONS 标志传递给 IDebugEventCallbacks::ChangeEngineState 方法,向每个客户端的事件回调对象发送通知。

以下全局选项会影响 调试器引擎的行为:

一直 说明
DEBUG_ENGOPT_IGNORE_DBGHELP_VERSION 如果 DbgHelp DLL 的版本与调试器引擎的版本不匹配,调试器引擎将生成警告而不是错误。
DEBUG_ENGOPT_IGNORE_EXTENSION_VERSIONS 禁用扩展的版本检查。 这会取消调试器引擎对 CheckVersion 的调用。
DEBUG_ENGOPT_ALLOW_NETWORK_PATHS 网络共享可用于加载符号和扩展。 此选项可防止引擎在调试某些系统进程时禁止网络路径,应谨慎使用。

如果设置了DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS,则无法设置此选项。

DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS 网络共享不能用于加载符号和扩展。 在调试某些系统进程时,引擎会尝试设置此选项。

如果设置了DEBUG_ENGOPT_ALLOW_NETWORK_PATHS,则无法设置此选项。

DEBUG_ENGOPT_NETWORK_PATHS DEBUG_ENGOPT_ALLOW_NETWORK_PATHS和DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS的按位 OR。
DEBUG_ENGOPT_IGNORE_LOADER_EXCEPTIONS 忽略加载程序在某些版本的 Windows 中生成的预期的首次机会异常。

例如,此选项允许在调试 Windows 3.1 和 3.5 系统时运行 Windows 3.51 二进制文件。

DEBUG_ENGOPT_INITIAL_BREAK 在目标的初始事件中中断调试器。
DEBUG_ENGOPT_INITIAL_MODULE_BREAK 当目标加载其第一个模块时,中断调试器。
DEBUG_ENGOPT_FINAL_BREAK 在目标的最后一个事件中中断调试器。 在实时用户模式目标中,这是进程退出时。 它在内核模式下不起作用。
DEBUG_ENGOPT_NO_EXECUTE_REPEAT 给定空命令时,调试器引擎不会重复上一个命令。
DEBUG_ENGOPT_FAIL_INCOMPLETE_INFORMATION 防止调试器加载无法映射映像的模块。

调试器尝试在调试不包含图像的最小转数时加载映像。

DEBUG_ENGOPT_ALLOW_READ_ONLY_BREAKPOINTS 允许调试器引擎操作目标上的页面保护,以允许在内存的只读部分中设置软件断点。

设置软件断点时,引擎以透明方式更改目标的内存以插入中断指令。

DEBUG_ENGOPT_SYNCHRONIZE_BREAKPOINTS 在实时用户模式调试中,引擎在插入和删除断点时执行额外的工作,以确保目标中的所有 线程 始终具有一致的断点状态。

当多个线程可以使用设置了断点的代码时,此选项很有用。 但是,它可能会引入死锁的可能性。

DEBUG_ENGOPT_DISALLOW_SHELL_COMMANDS 禁止通过调试器执行 shell 命令。

设置此选项后,无法取消设置。

DEBUG_ENGOPT_KD_QUIET_MODE 打开安静模式。 有关详细信息,请参阅 sq (设置安静模式)
DEBUG_ENGOPT_DISABLE_MANAGED_SUPPORT 禁用调试器引擎对托管代码的支持。 如果已使用对托管代码的支持,则此选项不起作用。
DEBUG_ENGOPT_DISABLE_MODULE_SYMBOL_LOAD 调试器不会加载在设置此标志时加载的模块的符号。
DEBUG_ENGOPT_DISABLE_EXECUTION_COMMANDS 阻止导致目标开始执行的任何命令。
DEBUG_ENGOPT_DISALLOW_IMAGE_FILE_MAPPING 禁止映射磁盘中的图像文件。 例如,此选项禁止在调试小型转储文件时对内存内容进行图像映射。 此选项不会影响现有映射;它仅影响映射图像文件的后续尝试。
DEBUG_ENGOPT_PREFER_DML 默认情况下,调试器运行 DML 增强版本的命令和操作。
DEBUG_ENGOPT_DISABLESQM 禁止上传软件质量指标 (SQM) 数据。

要求

要求
目标平台 桌面
标头 dbgeng.h (包括 Dbgeng.h)

另请参阅

AddEngineOptions

GetEngineOptions

IDebugControl

IDebugControl2

IDebugControl3

RemoveEngineOptions