Método IDebugControl3::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 |
---|---|
|
O método foi bem-sucedido. |
Comentários
Esse método definirá as opções do mecanismo para as 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 de depurador gera 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 | Desabilitar 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 usado 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 dinâmico, é quando o processo é encerrado. Ele não tem efeito no modo kernel. |
DEBUG_ENGOPT_NO_EXECUTE_REPEAT | Quando dado um comando vazio, o mecanismo de 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 minidumps 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 definiçã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 em todos os momentos.
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 desconjunta. |
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 é 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 imagens para conteúdo de memória durante a depuração de arquivos de minidump. 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) |