Метод IDebugControl2::SetEngineOptions (dbgeng.h)
Метод SetEngineOptions изменяет параметры подсистемы.
Синтаксис
HRESULT SetEngineOptions(
[in] ULONG Options
);
Параметры
[in] Options
Указывает новые параметры подсистемы. Параметры задаются битами; он заменит существующие параметры символов. Описание параметров подсистемы см. в разделе Примечания.
Возвращаемое значение
Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
Комментарии
Этот метод задает для параметров подсистемы параметры, указанные в разделе Параметры. В отличие от AddEngineOptions, все параметры символов, не перечисленные в битовом наборе параметров , будут удалены.
После изменения параметров подсистемы подсистема отправляет уведомление объекту обратного вызова события каждого клиента, передавая флаг DEBUG_CES_ENGINE_OPTIONS методу IDebugEventCallbacks::ChangeEngineState .
На поведение подсистемы отладчика влияют следующие глобальные параметры:
Константа | Описание |
---|---|
DEBUG_ENGOPT_IGNORE_DBGHELP_VERSION | Подсистема отладчика создает предупреждение вместо ошибки, если версия библиотеки DLL DbgHelp не соответствует версии подсистемы отладчика. |
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.51 при отладке систем Windows 3.1 и 3.5. |
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 |
Запретить выполнение команд оболочки через отладчик.
После установки этого параметра его нельзя отменить. |
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) |