Compartilhar via


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

O método SetEngineOptions altera as opções do mecanismo.

Sintaxe

HRESULT SetEngineOptions(
  [in] ULONG Options
);

Parâmetros

[in] Options

Especifica as novas opções do mecanismo. As opções são um conjunto de bits; ele substituirá as opções de símbolo existentes. Para obter uma descrição das opções do mecanismo, consulte Comentários.

Retornar valor

Esse método também pode retornar valores de erro. Consulte Valores retornados para obter mais detalhes.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.

Comentários

Esse método definirá as opções do mecanismo como aquelas especificadas em Opções. Ao contrário de AddEngineOptions, todas as opções de símbolo que não estão listadas no conjunto de bits Opções serão removidas.

Depois que as opções do mecanismo forem alteradas, o mecanismo enviará uma notificação para o objeto de retorno de chamada de evento de cada cliente passando o sinalizador DEBUG_CES_ENGINE_OPTIONS para o método IDebugEventCallbacks::ChangeEngineState .

As seguintes opções globais afetam o comportamento do mecanismo de depurador:

Constante Descrição
DEBUG_ENGOPT_IGNORE_DBGHELP_VERSION O mecanismo do depurador gerará um aviso em vez de um erro se a versão da DLL DbgHelp não corresponder à versão do mecanismo de depurador.
DEBUG_ENGOPT_IGNORE_EXTENSION_VERSIONS Desabilite a verificação de versão para extensões. Isso suprime a chamada do mecanismo de depurador para CheckVersion.
DEBUG_ENGOPT_ALLOW_NETWORK_PATHS Os compartilhamentos de rede podem ser usados para carregar símbolos e extensões. Essa opção impede que o mecanismo desautorize caminhos de rede ao depurar alguns processos do sistema e deve ser usada com cuidado.

Essa opção não poderá ser definida se DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS estiver definido.

DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS Os compartilhamentos de rede não podem ser usados para carregar símbolos e extensões. O mecanismo tenta definir essa opção ao depurar alguns processos do sistema.

Essa opção não poderá ser definida se DEBUG_ENGOPT_ALLOW_NETWORK_PATHS estiver definido.

DEBUG_ENGOPT_NETWORK_PATHS OR bit a bit de DEBUG_ENGOPT_ALLOW_NETWORK_PATHS e DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS.
DEBUG_ENGOPT_IGNORE_LOADER_EXCEPTIONS Ignore as exceções de primeira chance esperadas geradas pelo carregador em determinadas versões do Windows.

Por exemplo, essa opção permite que binários do Windows 3.51 sejam executados ao depurar sistemas Windows 3.1 e 3.5.

DEBUG_ENGOPT_INITIAL_BREAK Interrompa o depurador no evento inicial do destino.
DEBUG_ENGOPT_INITIAL_MODULE_BREAK Interrompa o depurador quando o destino carregar seu primeiro módulo.
DEBUG_ENGOPT_FINAL_BREAK Interrompa o depurador no evento final do destino. Em um destino de modo de usuário ativo, é quando o processo é encerrado. Ele não tem efeito no modo kernel.
DEBUG_ENGOPT_NO_EXECUTE_REPEAT Quando dado um comando vazio, o mecanismo do depurador não repete o último comando.
DEBUG_ENGOPT_FAIL_INCOMPLETE_INFORMATION Impedir que o depurador carregue módulos cujas imagens não podem ser mapeadas.

O depurador tenta carregar imagens ao depurar minidespejos que não contêm imagens.

DEBUG_ENGOPT_ALLOW_READ_ONLY_BREAKPOINTS Permitir que o mecanismo de depurador manipule proteções de página no destino para permitir a configuração de pontos de interrupção de software em uma seção somente leitura da memória.

Ao definir pontos de interrupção de software, o mecanismo altera de forma transparente a memória do destino para inserir uma instrução de interrupção.

DEBUG_ENGOPT_SYNCHRONIZE_BREAKPOINTS Na depuração dinâmica do modo de usuário, o mecanismo executa trabalho extra ao inserir e remover pontos de interrupção para garantir que todos os threads no destino tenham um estado de ponto de interrupção consistente o tempo todo.

Essa opção é útil quando vários threads podem usar o código para o qual o ponto de interrupção está definido. No entanto, ele pode introduzir a possibilidade de deadlocks.

DEBUG_ENGOPT_DISALLOW_SHELL_COMMANDS Não permitir a execução de comandos de shell por meio do depurador.

Depois que essa opção tiver sido definida, ela não poderá ser definida.

DEBUG_ENGOPT_KD_QUIET_MODE Ative o modo silencioso. Para obter mais informações, consulte sq (Definir modo silencioso).
DEBUG_ENGOPT_DISABLE_MANAGED_SUPPORT Desabilita o suporte do mecanismo de depurador para código gerenciado. Se o suporte para código gerenciado já estiver em uso, essa opção não terá efeito.
DEBUG_ENGOPT_DISABLE_MODULE_SYMBOL_LOAD O depurador não carrega símbolos para módulos carregados enquanto esse sinalizador está definido.
DEBUG_ENGOPT_DISABLE_EXECUTION_COMMANDS Impede qualquer comando que faça com que o destino comece a ser executado.
DEBUG_ENGOPT_DISALLOW_IMAGE_FILE_MAPPING Não permite o mapeamento de arquivos de imagem do disco. Por exemplo, essa opção não permite o mapeamento de imagem para conteúdo de memória durante a depuração de arquivos de minidespejo. Essa opção não afeta os mapeamentos existentes; afeta apenas as tentativas subsequentes de mapear arquivos de imagem.
DEBUG_ENGOPT_PREFER_DML O depurador executa versões aprimoradas por DML de comandos e operações por padrão.
DEBUG_ENGOPT_DISABLESQM Desabilita o upload de dados do SQM (Métricas de Qualidade do Software).

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho dbgeng.h (inclua Dbgeng.h)

Confira também

AddEngineOptions

GetEngineOptions

Idebugcontrol

IDebugControl2

IDebugControl3

RemoveEngineOptions