Opções gerais de depuração
Para definir as opções do depurador do Visual Studio, selecione Ferramentas>Opçõese, em Depuração, selecione ou desmarque as caixas ao lado das opções de Geral. Você pode restaurar todas as configurações padrão com Ferramentas>Importar e Exportar Configurações>Redefinir todas as configurações. Para redefinir um subconjunto de configurações, salve suas configurações com o Assistente de Importação e Exportação antes de fazer as alterações que deseja testar e importe as configurações salvas posteriormente.
Você pode definir as seguintes opções Gerais:
Perguntar antes de excluir todos os pontos de interrupção: requer confirmação antes de concluir o comando Excluir Todos os Pontos de Interrupção.
Interromper todos os processos quando um processo falha: interrompe simultaneamente todos os processos aos quais o depurador está conectado, quando ocorre uma interrupção.
Interromper quando exceções cruzam os limites gerenciados/nativos ou do AppDomain: na depuração gerenciada ou de modo misto, o Common Language Runtime pode capturar exceções que cruzem limites de domínio de aplicativo ou limites gerenciados/nativos quando as seguintes condições forem verdadeiras:
Quando o código nativo chama o código gerenciado usando a interoperabilidade COM e o código gerenciado aciona uma exceção. Confira Introdução à interoperabilidade COM.
Quando o código gerenciado em execução no domínio do aplicativo 1 chama o código gerenciado no domínio do aplicativo 2 e o código no domínio do aplicativo 2 gera uma exceção. Confira Programação com domínios do aplicativo.
Quando o código chama uma função usando reflexão, e essa função gera uma exceção. Confira Reflexão.
Nas condições 2 e 3, a exceção às vezes é capturada pelo código gerenciado em mscorlib
e não pelo common language runtime. Esta opção não afeta a quebra em exceções capturadas por mscorlib
.
Habilitar depuração no nível do endereço: habilita recursos avançados para depurar a nível de endereço (a janela Desmontagem, a janela Registros e os pontos de interrupção de endereço).
- Mostrar desmontagem se a origem não estiver disponível: mostra automaticamente a janela Desmontagem quando você depura o código para o qual a origem não está disponível.
Habilitar filtros de ponto de interrupção: permite definir filtros em pontos de interrupção para que eles afetem apenas processos, threads ou computadores específicos.
Use o novo Auxiliar de Exceção: habilita o Auxiliar de Exceção que substitui o assistente de exceções. (O Auxiliar de Exceção tem suporte a partir do Visual Studio 2017)
Nota
Para código gerenciado, essa opção foi chamada anteriormente Habilitar o assistente de exceção .
Habilitar Apenas Meu Código: o depurador exibe e executa etapas somente no código do usuário ("Meu Código"), ignorando o código do sistema e outro código otimizado ou que não tem símbolos de depuração.
- Avisar se não houver código de usuário na inicialização (somente gerenciado): Quando a depuração começa com Just My Code habilitado, esta opção avisa se não há código de usuário ("Meu Código").
Habilitar passo a passo de origem do .NET Framework: permite que o depurador intervenha na origem do .NET Framework. Habilitar essa opção desabilita automaticamente o Just My Code. Os símbolos do .NET Framework serão baixados para um local de cache. Altere o local do cache na caixa de diálogo Opções, categoria Depuração, página Símbolos.
Passo a passo de propriedades e operadores (somente gerenciados): impede que o depurador intervenha em propriedades e operadores no código gerenciado.
pt-BR: Habilitar a avaliação de propriedades e outras chamadas de função implícitas: ativa a avaliação automática de propriedades e chamadas de função implícitas em janelas de variáveis e na caixa de diálogo QuickWatch.
- Chamar função de conversão de cadeia de caracteres de objetos em janelas de variáveis (somente C# e JavaScript): executa uma chamada de conversão de cadeia de caracteres implícita ao avaliar objetos em janelas de variáveis. O resultado é exibido como uma cadeia de caracteres em vez do nome do tipo. Aplica-se somente à depuração no código em C#. Essa configuração pode ser substituída pelo atributo DebuggerDisplay (consulte Usando o atributo DebuggerDisplay).
Habilitar o suporte do servidor de origem: informa ao depurador do Visual Studio a obter arquivos de origem de servidores de código-fonte que implementam o protocolo SrcSrv (srcsrv.dll
). O Team Foundation Server e as Ferramentas de Depuração para Windows são dois servidores de origem que implementam o protocolo. Para obter mais informações sobre a instalação do SrcSrv, consulte a documentação do SrcSrv. Além disso, confira Especificar arquivos de símbolo (.pdb) e de origem.
Importante
Como ler arquivos .pdb pode executar o código arbitrário em arquivos, certifique-se de que você confia no servidor.
Imprimir mensagens de diagnóstico do servidor de origem para a janela Saída: quando o suporte do servidor de origem está habilitado, essa configuração ativa a exibição de diagnóstico.
Permitir servidor de origem para assemblies de confiança parcial (somente gerenciados): quando o suporte ao servidor de origem está habilitado, essa configuração substitui o comportamento padrão de não recuperar fontes para assemblies de confiança parciais.
Sempre execute comandos de servidor de origem não confiáveis sem solicitar: quando o suporte ao servidor de origem está habilitado, essa configuração substitui o comportamento padrão de solicitação ao executar um comando não confiável.
Habilitar o suporte ao Source Link: Informa ao depurador do Visual Studio que ele deve baixar arquivos de origem para arquivos de .pdb que contêm informações do Source Link. Para obter mais informações sobre o Link de Origem, consulte a especificação do link de origem .
Importante
Como o Link de Origem baixará arquivos usando http ou https, certifique-se de confiar no arquivo .pdb .
- Voltar para a autenticação do Git Credential Manager para todas as solicitações de Source Link: quando o suporte a Source Link estiver habilitado e uma solicitação de Source Link falhar na autenticação, o Visual Studio chamará o Git Credential Manager.
Realce toda a linha de origem para pontos de interrupção e instrução atual (somente C++): quando o depurador realça um ponto de interrupção ou uma instrução atual, ele realça toda a linha.
Exigir que os arquivos de origem correspondam exatamente à versão original: informa ao depurador para verificar se um arquivo de origem corresponde à versão do código-fonte usada para criar o executável que você está depurando. Quando a versão não corresponder, você será solicitado a encontrar uma fonte correspondente. Se uma fonte correspondente não for encontrada, o código-fonte não será exibido durante a depuração.
Redirecionar todo o texto da janela Saída para a janela Imediata: envia todas as mensagens do depurador que normalmente apareceriam na janela Saída para a janela Imediata.
Mostrar estrutura bruta de objetos em janelas de variáveis: desativa todas as personalizações de exibição de estrutura de objeto. Para obter mais informações sobre personalizações de exibição, consulte Criar exibições personalizadas de objetos gerenciados.
Suprimir otimização JIT na carga do módulo (somente gerenciado): desativa a otimização JIT do código gerenciado quando um módulo é carregado e o JIT é compilado enquanto o depurador é anexado. Desabilitar a otimização pode facilitar a depuração de alguns problemas, embora às custas do desempenho. Se você estiver usando Just My Code, suprimir a otimização JIT poderá fazer com que o código não usuário apareça como código do usuário ("Meu Código"). Para obter mais informações, confira Otimização e depuração JIT.
habilitar a depuração de JavaScript para ASP.NET (Chrome, Microsoft Edge e IE): habilita o depurador de script para aplicativos ASP.NET. No primeiro uso no Chrome, talvez seja necessário entrar no navegador para habilitar as extensões do Chrome instaladas. Desabilite essa opção para reverter para o comportamento herdado.
Habilitar o uso do depurador JavaScript de vários destinos para depurar o JavaScript em destinos aplicáveis (requer reinicialização de depuração) Habilita a conexão com o navegador e o back-end simultaneamente, permitindo que você depure seu código em execução no cliente e no servidor diretamente do editor.
Carregar exportações de dll (somente nativas): carrega as tabelas de exportação de dll. As informações de símbolo das tabelas de exportação de DLL podem ser úteis se você estiver trabalhando com mensagens ou procedimentos do Windows (WindowProcs), objetos COM, marshaling ou qualquer DLL para a qual você não tenha símbolos. Ler informações de exportação de dll envolve alguma sobrecarga. Portanto, essa funcionalidade é desativada por padrão.
Para ver quais símbolos estão disponíveis na tabela de exportação de uma dll, use dumpbin /exports
. Os símbolos estão disponíveis para qualquer dll do sistema de 32 bits. Lendo a saída dumpbin /exports
, você pode ver o nome exato da função, incluindo caracteres não alfanuméricos. Isso é útil para definir um ponto de interrupção em uma função. Os nomes de função das tabelas de exportação de dll podem aparecer truncados em outro lugar no depurador. As chamadas são listadas na ordem de chamada, com a função atual (a mais profundamente aninhada) na parte superior. Para obter mais informações, consulte dumpbin /exports.
Mostrar diagrama de pilhas paralelas de baixo para cima: controla a direção em que as pilhas são exibidas na janela Pilhas Paralelas.
Ignorar exceções de acesso à memória da GPU, se os dados gravados não alteraram o valor: ignora as condições de corrida detectadas durante a depuração, se os dados não foram alterados. Para obter mais informações, confira Depurando Código GPU.
Usar o Modo de Compatibilidade Gerenciado: substitui o mecanismo de depuração padrão por uma versão herdada para habilitar esses cenários:
Você está usando uma linguagem .NET diferente de C#, Visual Basic ou F# que fornece seu próprio Avaliador de Expressão (isso inclui C++/CLI).
Você deseja habilitar o recurso "Editar e Continuar" para projetos C++ durante a depuração em modo misto.
Nota
Escolher o modo de compatibilidade gerenciada desabilita alguns recursos que são implementados apenas no mecanismo de depuração padrão. O mecanismo de depuração herdado foi substituído no Visual Studio 2012.
Avisar ao usar visualizadores de depurador personalizados em processos potencialmente não seguros (somente gerenciados): O Visual Studio avisa quando você está usando um visualizador de depurador personalizado que está executando código no processo depurado, pois ele pode estar executando código não seguro.
Habilitar alocador de heap de depuração do Windows (somente nativo): permite que o heap de depuração do Windows melhore o diagnóstico de heap. Habilitar essa opção afetará o desempenho de depuração.
Habilitar ferramentas de depuração da interface do usuário para XAML: as janelas Árvore Visual Dinâmica e Exploração de Propriedade Dinâmica serão exibidas quando você iniciar a depuração (F5) de um tipo de projeto com suporte. Para obter mais informações, confira Inspecionar propriedades XAML durante a depuração.
Visualizar elementos selecionados em Árvore Visual Dinâmica: o elemento XAML cujo contexto foi selecionado também será selecionado na janela Árvore Visual Dinâmica.
Mostrar ferramentas de runtime no aplicativo: mostra os comandos da Árvore Visual Dinâmica em uma barra de ferramentas na janela principal do aplicativo XAML que está sendo depurado.
Habilitar Recarga Dinâmica de XAML: permite que você use o recurso de Recarga Dinâmica de XAML com o código XAML quando o aplicativo estiver em execução. (Esse recurso era anteriormente chamado de "XAML Editar e Continuar")
Enable Just My XAML: A partir do Visual Studio 2019 versão 16.4, o Live Visual Tree por padrão mostra apenas XAML classificado como código do usuário. Se você desabilitar essa opção, todo o código XAML gerado será mostrado na ferramenta.
Desativar o modo de seleção quando um elemento é selecionado A partir do Visual Studio 2019 versão 16.4, o botão seletor de elemento da barra de ferramentas no aplicativo (Habilitar seleção) é desativado quando um elemento é selecionado. Se você desabilitar essa opção, a seleção de elemento permanecerá ativa até clicar no botão da barra de ferramentas no aplicativo novamente.
Aplicar Recarga Dinâmica XAML ao salvar o documento A partir do Visual Studio 2019 versão 16.6, aplica a Recarga Dinâmica XAML ao salvar o documento.
Habilitar Ferramentas de Diagnóstico durante a depuração: a janela Ferramentas de Diagnóstico será exibida enquanto você estiver depurando.
Mostrar o tempo decorrido do PerfTip durante a depuração: a janela de código exibirá o tempo decorrido de determinada chamada de método quando você estiver depurando.
Habilitar opção Editar e Continuar: habilita a funcionalidade Editar e Continuar durante a depuração.
Habilitar Edição Nativa e Continuar: você pode usar a funcionalidade Editar e Continuar durante a depuração do código C++nativo. Para obter mais informações, consulte Editar e Continuar (C++).
Aplicar alterações em continuar (somente nativo): o Visual Studio compila e aplica automaticamente as alterações de código pendentes que você fez ao continuar o processo de um estado de interrupção. Se não estiver selecionado, você poderá optar por aplicar as alterações usando o item Aplicar Alterações de Código no menu Depurar.
Avisar sobre o código obsoleto (somente nativo): Receba avisos sobre código obsoleto.
Exibir o botão Executar para Clicar no editor durante a depuração: Quando essa opção for selecionada, o botão Executar para Clicar será mostrado durante a depuração.
Fechar o console automaticamente quando a depuração for interrompida: informa ao Visual Studio para fechar o console no final de uma sessão de depuração.
Habilitar a avaliação de expressão rápida (somente gerenciada): permite que o depurador tente uma avaliação mais rápida simulando a execução de métodos e propriedades simples.
Carregar símbolos de depuração no processo externo (somente nativo) Habilita essa otimização de memória durante a depuração.
Colocar o Visual Studio em primeiro plano ao interromper o depurador Muda o Visual Studio para o primeiro plano quando você pausa o depurador.
Manter as dicas de dados expandidas abertas até clicar Quando essa opção é selecionada, uma dica de dados expandida permanece expandida até que você clique para fechar.
Opções disponíveis em versões mais antigas do Visual Studio
Se você estiver usando uma versão mais antiga do Visual Studio, algumas opções adicionais poderão estar presentes.
Habilitar Ferramentas de Desenvolvedor do Microsoft Edge para Aplicativos JavaScript UWP (Experimental): Habilita ferramentas de desenvolvedor para aplicativos JavaScript UWP no Microsoft Edge.
Habilitar o depurador JavaScript do Chrome herdado para ASP.NET: habilita o depurador de script JavaScript do Chrome herdado para aplicativos ASP.NET. No primeiro uso no Chrome, talvez seja necessário entrar no navegador para habilitar as extensões do Chrome instaladas.
Habilitar o assistente de exceção: para código gerenciado, habilita o assistente de exceção. A partir do Visual Studio 2017, o Auxiliar de Exceção substituiu o assistente de exceção.
Desenrolar pilha de chamadas em exceções sem tratamento: faz com que a janela Pilha de Chamadas reverta a pilha de chamadas ao ponto antes que a exceção sem tratamento ocorra.
Use uma maneira experimental de iniciar a depuração do JavaScript do Chrome ao executar o Visual Studio como Administrador: informa ao Visual Studio para tentar uma nova maneira de iniciar o Chrome durante a depuração do JavaScript.
Avisar se não houver símbolos na inicialização (somente nativo): Exibe uma caixa de diálogo de aviso ao depurar um programa para o qual o depurador não possui informações de símbolos.
Avisar se a depuração de script estiver desabilitada na inicialização: exibe uma caixa de diálogo de aviso quando o depurador é iniciado com a depuração de script desabilitada.
Usar o Modo de Compatibilidade Gerenciada: quando essa opção é selecionada, o depurador usa o depurador gerenciado do Visual Studio 2010, que era necessário ao depurar o código C++/CLI.
Usar o Modo de Compatibilidade Nativa: quando essa opção é selecionada, o depurador usa o depurador nativo do Visual Studio 2010 em vez do novo depurador nativo.
- Use essa opção ao depurar o código .NET C++, pois o novo mecanismo de depuração não dá suporte à avaliação de expressões .NET C++. No entanto, habilitar o Modo de Compatibilidade Nativa desabilita muitos recursos que dependem da implementação atual do depurador para operar. Por exemplo, o mecanismo herdado não tem muitos visualizadores para tipos embutidos, como
std::string
nos projetos do Visual Studio 2015. Utilize projetos do Visual Studio 2013 para obter a experiência de depuração ideal nesses casos.