Opções gerais de depuração
Para definir as opções do depurador do Visual Studio, selecioneFerramentas>Opções e, em Depuração, marque ou desmarque as caixas ao lado de opções Gerais. 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 de Configurações, antes de fazer as alterações que você deseja testar e importe as configurações salvas posteriormente.
Você pode definir as seguintes opções Gerais:
Pergunte 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: interrompe simultaneamente todos os processos aos quais o depurador está anexado, 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, às vezes, a exceção é detectada pelo código gerenciado em mscorlib
, em vez do 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 que você defina filtros em pontos de interrupção de modo que eles afetem somente 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. (Há suporte para o Auxiliar de Exceção a partir do Visual Studio 2017)
Observação
Para código gerenciado, essa opção foi chamada anteriormente de Habilitar o assistente de exceção.
Habilitar Apenas Meu Código: o depurador exibe e intervém no código do usuário ("Meu Código"), ignorando o código do sistema e outros códigos otimizados ou que não têm 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 a opção Apenas Meu Código habilitada, essa opção avisa você se não houver código de usuário ("Meu Código").
Habilitar stepping de origem do .NET Framework: permite que o depurador intervenha na origem do .NET Framework. Habilitar essa opção desabilita automaticamente a opção Apenas Meu Código. 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.
Step over de propriedades e operadores (somente gerenciados): impede que o depurador intervenha em propriedades e operadores no código gerenciado.
Habilitar avaliação de propriedade e outras chamadas de função implícitas: ativa a classificação automática de propriedades e as chamadas de função implícitas nas 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 (confira Como usar o atributo DebuggerDisplay).
Habilitar suporte ao servidor de origem: informa ao depurador do Visual Studio para obter os arquivos de origem dos servidores de origem que implementam o protocolo de SrcSrv (srcsrv.dll
). O Team Foundation Server e as Ferramentas de Depuração para o Windows são dois servidores de origem que implementam o protocolo. Para obter mais informações sobre a configuração de SrcSrv, confira 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 na janela Saída: quando o suporte ao servidor de origem está habilitado, essa configuração ativa a exibição de diagnóstico.
Permitir ser para assemblies de confiança parcial (somente gerenciado): quando o suporte ao servidor de origem é ativado, essa configuração substitui o comportamento padrão de não recuperar as origens dos assemblies de confiança parcial.
Executar sempre os comandos não confiáveis do servidor de origem sem avisar: quando o suporte ao servidor de origem está habilitado, essa configuração substitui o comportamento padrão de aviso ao executar um comando não confiável.
Habilitar suporte ao link de origem: informa ao depurador do Visual Studio para baixar os arquivos de origem para arquivos .pdb que contêm as informações do Link de Origem. Para obter mais informações sobre o Link de Origem, confira a Especificação do link de origem.
Importante
Como o Link de Origem baixará os arquivos com http ou https, confie no arquivo .pdb.
- Fazer fallback para a autenticação do Gerenciador de Credenciais do Git para todas as solicitações do Link de Origem: quando o suporte ao Link de Origem estiver habilitado e uma solicitação do Link de Origem não for autenticada, o Visual Studio chamará o Gerenciador de Credenciais do Git.
Realçar 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 usado para compilar o executável que você está depurando. Quando a versão não corresponde, você será solicitado a localizar uma origem correspondente. Se uma fonte compatível 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 dos 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, confira Criar exibições personalizadas dos 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. Desativar a otimização pode facilitar a depuração de alguns problemas, embora às custas de desempenho. Se você estiver usando Apenas Meu Código, a supressão da otimização de JIT poderá fazer com que código que não seja do 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 depuração 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 instaladas do Chrome. Desabilite 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 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 no editor.
Carregar exportações de dll (somente nativas): carrega as tabelas de exportação de dll. Informações de símbolos das tabelas de exportação de dll podem ser úteis se você estiver trabalhando com mensagens do Windows, procedimentos do Windows (WindowProcs), objetos COM, ou marshaling, ou qualquer dll para a qual você não tem símbolos. A leitura das informações de exportação de dll gera certa sobrecarga. Desse modo, 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 32 bits do sistema. 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. Os nomes de função de tabelas de exportação de dll podem aparecer truncados em qualquer 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, confira 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 modo de compatibilidade gerenciada: substitui o mecanismo de depuração padrão com 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 Avaliador de Expressão (incluindo C++/CLI).
Você deseja habilitar a opção Editar e Continuar para projetos do C++ durante a depuração no 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 os visualizadores personalizados do depurador em processos possivelmente desprotegidos (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 um código desprotegido.
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 da 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 foi chamado anteriormente de "Editar e Continuar XAML")
Habilitar Apenas Meu XAML: a partir do Visual Studio 2019 versão 16.4, por padrão, a Árvore Visual Dinâmicamostra apenas o 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á ativada até que você clique no botão da barra de ferramentas no aplicativo novamente.
Aplicar Recarga Dinâmica de XAML ao salvar documento A partir do Visual Studio 2019 versão 16.6, aplica a Recarga Dinâmica de XAML ao salvar seu 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 opção Editar e Continuar Nativa: você pode usar a funcionalidade Editar e Continuar durante a depuração do código C++ nativo. Para saber mais, confira Editar e Continuar (C++).
Aplicar alterações em continuar (somente nativo): o Visual Studio compila e aplica automaticamente todas as alterações de código pendentes feitas ao continuar o processo em 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 código obsoleto (somente nativo): obtenha avisos sobre código obsoleto.
Mostrar 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 avaliação de expressão rápida (somente gerenciada): permite que o depurador tente fazer 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 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 nas 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 para Desenvolvedores de Borda para Aplicativos UWP JavaScript (Experimental): habilita ferramentas de desenvolvedor para aplicativos UWP JavaScript no Microsoft Edge.
Habilitar 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 instaladas do Chrome.
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.
Usar maneira experimental de iniciar a depuração do Chrome JavaScript ao executar o Visual Studio como Administrador: informa ao Visual Studio para tentar usar uma nova maneira de iniciar o Chrome durante a depuração do JavaScript.
Avisar se não houver símbolo na inicialização (somente nativo): exibe uma caixa de diálogo de aviso quando você depura um programa para o qual o depurador não tem informações de símbolo.
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 Modo de Compatibilidade Gerenciada: 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 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 quando estiver depurando o código C++ do .NET, pois o novo mecanismo de depuração não permite a avaliação de expressões C++ do .NET. 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 internos, como
std::string
em projetos do Visual Studio 2015. Use os projetos do Visual Studio 2013 para a experiência de depuração ideal nesses casos.