Compartir a través de


Método IDebugControl2::SetEngineOptions (dbgeng.h)

El método SetEngineOptions cambia las opciones del motor.

Sintaxis

HRESULT SetEngineOptions(
  [in] ULONG Options
);

Parámetros

[in] Options

Especifica las nuevas opciones del motor. Las opciones son un conjunto de bits; reemplazará las opciones de símbolo existentes. Para obtener una descripción de las opciones del motor, vea Comentarios.

Valor devuelto

Este método también puede devolver valores de error. Consulte Valores devueltos para obtener más detalles.

Código devuelto Descripción
S_OK
Método realizado correctamente.

Comentarios

Este método establecerá las opciones del motor en las especificadas en Opciones. A diferencia de AddEngineOptions, se quitarán las opciones de símbolos que no aparecen en el conjunto de bits Opciones .

Después de cambiar las opciones del motor, el motor envía una notificación al objeto de devolución de llamada de evento de cada cliente pasando la marca DEBUG_CES_ENGINE_OPTIONS al método IDebugEventCallbacks::ChangeEngineState .

Las siguientes opciones globales afectan al comportamiento del motor del depurador:

Constante Descripción
DEBUG_ENGOPT_IGNORE_DBGHELP_VERSION El motor del depurador genera una advertencia en lugar de un error si la versión del archivo DLL dbgHelp no coincide con la versión del motor del depurador.
DEBUG_ENGOPT_IGNORE_EXTENSION_VERSIONS Deshabilite la comprobación de versiones para las extensiones. Esto suprime la llamada del motor del depurador a CheckVersion.
DEBUG_ENGOPT_ALLOW_NETWORK_PATHS Los recursos compartidos de red se pueden usar para cargar símbolos y extensiones. Esta opción impide que el motor desconecte las rutas de acceso de red al depurar algunos procesos del sistema y se debe usar con precaución.

Esta opción no se puede establecer si se establece DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS.

DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS No se pueden usar recursos compartidos de red para cargar símbolos y extensiones. El motor intenta establecer esta opción al depurar algunos procesos del sistema.

Esta opción no se puede establecer si se establece DEBUG_ENGOPT_ALLOW_NETWORK_PATHS.

DEBUG_ENGOPT_NETWORK_PATHS OR bit a bit de DEBUG_ENGOPT_ALLOW_NETWORK_PATHS y DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS.
DEBUG_ENGOPT_IGNORE_LOADER_EXCEPTIONS Ignore las excepciones de primera oportunidad esperadas generadas por el cargador en determinadas versiones de Windows.

Por ejemplo, esta opción permite que los archivos binarios de Windows 3.51 se ejecuten al depurar sistemas Windows 3.1 y 3.5.

DEBUG_ENGOPT_INITIAL_BREAK Divida en el depurador en el evento inicial del destino.
DEBUG_ENGOPT_INITIAL_MODULE_BREAK Divida en el depurador cuando el destino cargue su primer módulo.
DEBUG_ENGOPT_FINAL_BREAK Divida en el depurador en el evento final del destino. En un destino en modo de usuario activo, esto es cuando se cierra el proceso. No tiene ningún efecto en el modo kernel.
DEBUG_ENGOPT_NO_EXECUTE_REPEAT Cuando se proporciona un comando vacío, el motor del depurador no repite el último comando.
DEBUG_ENGOPT_FAIL_INCOMPLETE_INFORMATION Impedir que el depurador cargue módulos cuyas imágenes no se puedan asignar.

El depurador intenta cargar imágenes al depurar minivolcados que no contienen imágenes.

DEBUG_ENGOPT_ALLOW_READ_ONLY_BREAKPOINTS Permita que el motor del depurador manipule las protecciones de página en el destino para permitir establecer puntos de interrupción de software en una sección de solo lectura de la memoria.

Al establecer puntos de interrupción de software, el motor modifica de forma transparente la memoria del destino para insertar una instrucción de interrupción.

DEBUG_ENGOPT_SYNCHRONIZE_BREAKPOINTS En la depuración en modo de usuario activa, el motor realiza un trabajo adicional al insertar y quitar puntos de interrupción para asegurarse de que todos los subprocesos del destino tienen un estado de punto de interrupción coherente en todo momento.

Esta opción es útil cuando varios subprocesos pueden usar el código para el que se establece el punto de interrupción. Sin embargo, puede introducir la posibilidad de interbloqueos.

DEBUG_ENGOPT_DISALLOW_SHELL_COMMANDS No permitir la ejecución de comandos de shell a través del depurador.

Una vez establecida esta opción, no se puede anular la configuración.

DEBUG_ENGOPT_KD_QUIET_MODE Activar el modo silencioso. Para obtener más información, vea sq (Establecer modo silencioso) .
DEBUG_ENGOPT_DISABLE_MANAGED_SUPPORT Deshabilita la compatibilidad del motor del depurador con código administrado. Si la compatibilidad con código administrado ya está en uso, esta opción no tiene ningún efecto.
DEBUG_ENGOPT_DISABLE_MODULE_SYMBOL_LOAD El depurador no carga símbolos para los módulos que se cargan mientras se establece esta marca.
DEBUG_ENGOPT_DISABLE_EXECUTION_COMMANDS Evita los comandos que harían que el destino empezara a ejecutarse.
DEBUG_ENGOPT_DISALLOW_IMAGE_FILE_MAPPING No permite la asignación de archivos de imagen desde el disco. Por ejemplo, esta opción no permite la asignación de imágenes para el contenido de memoria durante la depuración de archivos minivolcados. Esta opción no afecta a las asignaciones existentes; afecta solo a los intentos posteriores de asignar archivos de imagen.
DEBUG_ENGOPT_PREFER_DML El depurador ejecuta versiones mejoradas de DML de comandos y operaciones de forma predeterminada.
DEBUG_ENGOPT_DISABLESQM Deshabilita la carga de datos de métricas de calidad de software (SQM).

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado dbgeng.h (incluir Dbgeng.h)

Consulte también

AddEngineOptions

GetEngineOptions

IDebugControl

IDebugControl2

IDebugControl3

RemoveEngineOptions