IDebugControl3::SetEngineOptions 方法 (dbgeng.h)
SetEngineOptions 方法更改引擎的选项。
语法
HRESULT SetEngineOptions(
[in] ULONG Options
);
参数
[in] Options
指定引擎的新选项。 选项 是位集;它将替换现有的符号选项。 有关引擎选项的说明,请参阅备注。
返回值
此方法也可能返回错误值。 有关更多详细信息 ,请参阅返回值 。
返回代码 | 说明 |
---|---|
|
方法成功。 |
注解
此方法会将引擎的选项设置为 “选项”中指定的选项。 与 AddEngineOptions 不同,将删除 Options 位集中未列出的任何符号选项。
更改引擎选项后,引擎通过将 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) |