IDebugControl3::SetEngineOptions 方法 (dbgeng.h)
SetEngineOptions 方法更改引擎的选项。
语法
HRESULT SetEngineOptions(
[in] ULONG Options
);
参数
[in] 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。 |
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) |