Opções gerais de depuração
Para definir as opções do depurador do Visual Studio, selecione Ferramentas>Opçõese, em Depuração, marque ou desmarque as caixas ao lado das opções Geral. Você pode restaurar todas as configurações padrão com Ferramentas>Configurações de Importação e Exportação>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 de Configurações do antes de fazer as alterações que deseja testar e, em seguida, importe as configurações salvas depois.
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 é interrompido: Simultaneamente interrompe todos os processos aos quais o depurador está ligado, quando ocorre uma interrupção.
Quebrar quando as exceções cruzam os limites AppDomain ou gerenciados/nativos: Na depuração de modo gerenciado ou misto, o Common Language Runtime pode capturar exceções que cruzam os limites do domínio do aplicativo ou os limites gerenciados/nativos quando as seguintes condições forem verdadeiras:
Quando o código nativo chama o código gerenciado usando a Interop COM e o código gerenciado gera uma exceção. Ver 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. Consulte Programação com domínios de aplicação.
Quando o código chama uma função usando reflexão, e essa função lança uma exceção. Ver Reflexão.
Nas condições 2 e 3, a exceção às vezes é capturada pelo código gerenciado em mscorlib
em vez do Common Language Runtime. Esta opção não afeta a quebra de exceções capturadas por mscorlib
.
Habilitarde depuração no nível de endereço: habilita recursos avançados para depuração no nível de endereço (a janela Desmontagem, a janela Registros de e pontos de interrupção de endereço).
- Mostrar desassemblagem se a origem não estiver disponível: Mostra automaticamente a janela Desassemblagem quando se depurar 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.
Usar o novo Auxiliar de Exceção: Habilita o Auxiliar de Exceção que substitui o assistente de exceção. (O Auxiliar de exceção é suportado a partir do Visual Studio 2017)
Observação
Para código gerenciado, essa opção foi chamada anteriormente Ativar o assistente de exceção .
Enable Just My Code: O depurador exibe e entra apenas no código do usuário ("My Code"), 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 ao iniciar (apenas gerido): Quando a depuração começa com Just My Code ativado, esta opção avisa se não houver nenhum código de usuário ("Meu Código").
Habilitarde revisão de origem do .NET Framework : Permite que o depurador entre na fonte do .NET Framework. Ativar esta opção desativa automaticamente Just My Code. Os símbolos do .NET Framework serão baixados para um local de cache. Altere o local do cache com a caixa de diálogo Opções de , categoria Depuraçãopágina Símbolos.
Passo sobre propriedades e operadores (somente gerenciado): Impede que o depurador entre em propriedades e operadores no código gerenciado.
Ativar 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 nas janelas de variáveis e na caixa de diálogo QuickWatch.
- Chamar a função de conversão de cadeia de caracteres em objetos nas janelas de variáveis (somente C# e JavaScript): Executa uma chamada implícita para conversão de cadeia de caracteres ao avaliar objetos nas janelas de variáveis. O resultado é exibido como uma cadeia de caracteres em vez do nome do tipo. Aplica-se apenas durante a depuração em código C#. Essa configuração pode ser substituída pelo atributo DebuggerDisplay (consulte Usando o atributo DebuggerDisplay).
Habilitarde suporte ao servidor de origem: Informa o depurador do Visual Studio para obter arquivos de origem de servidores de origem que implementam o protocolo SrcSrv (srcsrv.dll
). 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. Além disso, consulte Especificar símbolo (.pdb) e arquivos de origem.
Importante
Como a leitura arquivos .pdb pode executar código arbitrário nos arquivos, certifique-se de que você confia no servidor.
Imprimir mensagens de diagnóstico do servidor de origem na janela Saída: Quando o suporte ao servidor de origem está habilitado, essa configuração ativa a exibição de diagnóstico.
Permitir servidor de origem para assemblies de confiança parciais (somente gerenciados): Quando o suporte ao servidor de origem está habilitado, essa configuração substitui o comportamento padrão de não recuperar códigos-fonte para assemblies de confiança parciais.
Sempre execute comandos do servidor de origem não confiáveis sem avisar: Quando o suporte ao servidor de origem está habilitado, essa configuração substitui o comportamento padrão de avisar ao executar um comando não confiável.
Habilitarde suporte ao Link de Origem: Diz ao depurador do Visual Studio para baixar arquivos de origem para arquivos .pdb que contêm informações de Link de Origem. Para obter mais informações sobre o link de origem, consulte a especificação do link de origem .
Importante
Como o Source Link baixará ficheiros usando http ou https, assegure-se de confiar no ficheiro .pdb .
- Volte para a autenticação do Git Credential Manager para todas as solicitações de Link de Origem: Quando o suporte ao Link de Origem está habilitado e uma solicitação de Link de Origem falha na autenticação, o Visual Studio chama o Gerenciador de Credenciais do Git.
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 destaca a linha inteira.
Exigir que os arquivos de origem correspondam exatamente à versão original: Diz 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 Immediate: Envia todas as mensagens do depurador que normalmente apareceriam na janela Output para a janela Immediate em vez disso.
Mostrar estrutura bruta de objetos em janelas de variáveis: Desativa todas as personalizações de exibição de estrutura de objetos. Para obter mais informações sobre personalizações de exibição, consulte Criar modos de exibição personalizados de objetos gerenciados.
Suprimir a otimização JIT na carga do módulo (somente gerenciado): Desabilita a otimização JIT do código gerenciado quando um módulo é carregado e o JIT é compilado enquanto o depurador está conectado. Desativar a otimização pode facilitar a depuração de alguns problemas, embora em detrimento do desempenho. Se você estiver usando Just My Code, suprimir a otimização JIT pode fazer com que o código que não é do usuário apareça como código de usuário ("Meu Código"). Para obter mais informações, consulte a otimização e depuração JIT em e.
Ativar a depuração JavaScript para ASP.NET (Chrome, Microsoft Edge e IE): Habilita o depurador de script para aplicativos ASP.NET. Na primeira utilização no Chrome, poderá ter de iniciar sessão no navegador para ativar as extensões do Chrome instaladas. Desative essa opção para reverter para o comportamento herdado.
Habilitar o uso do depurador JavaScript de vários destinos para depurar JavaScript em destinos aplicáveis (requer reinicialização da depuração) Permite a conexão com o navegador e 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 nativo): Carrega tabelas de exportação de DLL. As informações de símbolos de tabelas de exportação de dll podem ser úteis se estiveres a trabalhar com mensagens do Windows, procedimentos do Windows (WindowProcs), objetos COM, marshaling, ou qualquer dll que não possua símbolos. A leitura de informações de exportação de dll envolve alguma sobrecarga. Portanto, esse recurso é desativado 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 de sistema de 32 bits. Ao ler 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. Nomes de função de tabelas de exportação DLL podem aparecer truncados em outras partes do depurador. As chamadas são listadas na ordem de chamada, com a função atual (a mais profundamente aninhada) no topo. 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 mudaram o valor: Ignora as condições de corrida que foram detetadas durante a depuração se os dados não mudaram. Para obter mais informações, consulte Debugging GPU Code.
Usar o Modo de Compatibilidade Gerenciado: substitui o mecanismo de depuração padrão por uma versão herdada para habilitar estes cenários:
Você está usando uma linguagem .NET diferente de C#, Visual Basic ou F# que fornece seu próprio Expression Evaluator (isso inclui C++/CLI).
Você deseja ativar Edit and Continue para projetos C++ durante a depuração de modo misto.
Observação
Escolher o modo de Compatibilidade Gerenciada desativa alguns recursos que são implementados somente 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 contra processos potencialmente inseguros (somente gerenciado): O Visual Studio avisa quando você estiver usando um visualizador de depurador personalizado que esteja executando código no processo depurado, porque ele pode estar executando código não seguro.
Habilitar o alocador de heap de depuração do Windows (somente nativo): Habilita o heap de depuração do Windows para melhorar o diagnóstico do heap. Habilitar esta opção terá impacto no desempenho da depuração.
Habilitar ferramentas de depuração da interface do usuário para XAML: As janelas Live Visual Tree e Live Property Explore aparecerão quando você iniciar a depuração (F5) de um tipo de projeto suportado. Para obter mais informações, consulte Inspecionar propriedades XAML ao depurar.
Visualizar elementos selecionados no Live Visual Tree: O elemento XAML cujo contexto está selecionado também é selecionado na janela Live Visual Tree.
Mostrar ferramentas de tempo de execução na aplicação: Mostra os comandos da Live Visual Tree numa barra de ferramentas na janela principal da aplicação XAML que está a ser depurada.
Enable XAML Hot Reload: Permite que você use o recurso XAML Hot Reload com código XAML quando seu aplicativo estiver em execução. (Esse recurso foi chamado anteriormente de "XAML Edit and Continue")
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 de 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 elementos da barra de ferramentas no aplicativo (Habilitar seleção) desliga-se quando um elemento é selecionado. Se você desabilitar essa opção, a seleção de elementos permanecerá ativada até que você clique no botão da barra de ferramentas no aplicativo novamente.
Aplicar XAML Hot Reload ao guardar o documento A partir do Visual Studio 2019 versão 16.6, aplica XAML Hot Reload ao guardar o documento.
Ativar Ferramentas de Diagnóstico ao depurar: A janela Ferramentas de Diagnóstico aparece enquanto está a depurar.
Mostrar tempo decorrido PerfTip durante a depuração: A janela de código exibe o tempo decorrido de uma determinada chamada de método durante a depuração.
Ativar Editar e Continuar: Habilita a funcionalidade Editar e Continuar durante a depuração.
Ativar Edição Nativa e Continuar: Você pode usar a funcionalidade Editar e Continuar ao depurar código C++ nativo. Para obter mais informações, consulte Editar e continuar (C++).
Aplicar alterações ao continuar(apenas para nativos): O Visual Studio compila e aplica automaticamente quaisquer alterações de código pendentes ao retomar o processo a partir de um estado de interrupção. Se não estiver selecionado, você pode optar por aplicar alterações usando o item Aplicar alterações de código no menu de depuração.
Avisar sobre código obsoleto (somente nativo): Receba avisos sobre código obsoleto.
Mostrar botão Executar para Clicar no editor durante a depuração: Quando esta opção estiver selecionada, o botão Executar para Clicar será mostrado durante a depuração.
Fechar automaticamente a consola quando a depuração parar: Indica ao Visual Studio para fechar a consola no final de uma sessão de depuração.
Ativar avaliação rápida de expressão (somente gerenciado): Permite que o depurador tente uma avaliação mais rápida simulando a execução de propriedades e métodos simples.
Carregar símbolos de depuração no processo externo (somente nativo) Habilita esse de otimização de memória durante a depuração.
Traz o Visual Studio para o primeiro plano ao interromper no depurador Traz o Visual Studio para o primeiro plano quando pausa no depurador.
Mantenha as dicas de dados expandidas abertas até que se clique fora Quando esta opção é selecionada, uma dica de dados expandida permanece expandida até que o utilizador clique fora das mesmas.
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 podem estar presentes.
Habilitar Ferramentas de Desenvolvedor do Microsoft Edge para Aplicações JavaScript UWP (Experimental): Habilita Ferramentas de Desenvolvedor para Aplicações JavaScript UWP no Microsoft Edge.
Ativar o depurador JavaScript do Chrome herdado para ASP.NET: ativa o depurador de script JavaScript do Chrome herdado para aplicativos ASP.NET. Na primeira utilização no Chrome, poderá ter de iniciar sessão no navegador para ativar as extensões do Chrome instaladas.
Ativar 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 a pilha de chamadas em exceções não tratadas: Faz com que a janela Pilha de Chamadas reverta a pilha de chamadas até ao ponto anterior à ocorrência da exceção não tratada.
Use uma maneira experimental de iniciar a depuração JavaScript do Chrome ao executar o Visual Studio como administrador: Diz ao Visual Studio para tentar uma nova maneira de iniciar o Chrome durante a depuração de JavaScript.
Avisar se não houver símbolos no lançamento (somente nativo): Exibe uma caixa de diálogo de aviso quando se depura um programa para o qual o debugger não tem informações de símbolos.
Avisar se a depuração de script estiver desativada 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 gerenciado: Quando essa opção é selecionada, o depurador usa o depurador gerenciado do Visual Studio 2010, que era necessário quando você depurava o código C++/CLI.
Usar modo de compatibilidade nativo: 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 quando estiver depurando código .NET C++, porque o novo mecanismo de depuração não oferece 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 motor legado não possui muitos visualizadores para tipos embutidos, como
std::string
em projetos do Visual Studio 2015. Utilize projetos do Visual Studio 2013 para uma experiência de depuração ideal nesses casos.