Estou trabalhando em um projeto ColdFusion há algum tempo e o Visual Studio começou a se comportar de forma estranha, pelo menos para mim.
Observei que quando iniciei a depuração, ele construiu o projeto, iniciou a implantação e a implantação terminou e estava começando a carregar símbolos para o meu projeto.
Mas foi muito lento e não sei por que começou a dar esse passo. O que posso ter feito?
Este passo de carregamento do símbolo é necessário? Como posso desabilitá-lo?
Na caixa de diálogo Ferramentas -> Opções -> Depuração -> Símbolos, não há nenhum local de arquivo de símbolo (.pdb) adicionado. E apontei no diretório de depuração do meu projeto no campo abaixo e marquei a caixa de seleção "Pesquisar no diretório acima apenas quando os símbolos estiverem ....". Como devo configurar esta caixa de diálogo para desativar o carregamento de símbolos?
Olhei na janela Módulos quais símbolos estão carregados, mas isso não diz nada para mim. Qual é o problema?
fonte
Respostas:
Depuração -> Excluir todos os pontos de interrupção ( http://darrinbishop.com/blog/2010/06/sharepoint-2010-hangs-after-visual-studio-2010-f5-debugging ) Depois disso, você pode usá-los novamente, mas faça-o uma vez. Ele também removerá algum tipo de ponto de interrupção "inválido" e o carregamento dos símbolos será rápido novamente. Eu estava perseguindo esse problema há dias :(.
fonte
Outro motivo para carregamento lento é se você desabilitou "Ativar apenas meu código" nas opções de depuração. Para habilitar isso, vá para:
Verifique se isso está marcado.
fonte
Configure em Ferramentas, Opções, Depuração, Símbolos.
Você pode assistir a janela de saída (exibição, saída) para ver o que está fazendo normalmente. Se for realmente lento, provavelmente significa que ele está atingindo um servidor de símbolos, provavelmente da Microsoft, para baixar os símbolos ausentes. São necessários três acessos HTTP para cada arquivo que não é encontrado em todas as inicializações - às vezes você pode vê-lo na barra de status na parte inferior ou, por exemplo, no Fiddler. Você pode ver quais módulos carregaram símbolos em Debug, Windows, Modules enquanto estiver depurando.
Os símbolos significam que você obtém informações úteis de rastreamento de pilha em montagens de terceiros e de sistema. Você definitivamente precisa deles para o seu próprio código, mas acho que eles são carregados independentemente. Sua melhor aposta é desativar todas as fontes de símbolos não locais nesse menu e, se você estiver carregando muitos símbolos para assemblies de sistema nos quais não precisa depurar, poderá desativar temporariamente o carregamento deles para acelerar o início da depuração - mas geralmente são úteis para carregar.
fonte
Só tive esse problema.
Corrigi-o navegando para:
Ferramentas -> Opções -> Depuração -> Símbolos
Em seguida, desmarque todas as fontes não locais dos locais dos arquivos Symbol (.pdb)
por exemplo, Microsoft Symbol Servers e msdl.microsoft.com/download/symbols
fonte
Eu enfrentei um problema semelhante. No meu caso, eu configurei _NT_SYMBOL_PATH para fazer o download dos Servidores Microsoft para uso no WinDbg e parece que quando definido, o Visual Studio o usará sem nenhuma maneira de ignorá-lo. A remoção dessa variável de ambiente resolveu meu problema.
fonte
Você pode tentar a seguinte resposta para a depuração / carregamento do Visual Studio muito lentamente :
Tente também excluir todos os pontos de interrupção (Depurar> Excluir todos os pontos de interrupção),
Consulte também : Visual Studio 2015 RC1 trava no modo de depuração ao carregar símbolos
fonte
Para mim, parece relacionado a pontos de interrupção, conforme indicado na resposta aceita. No entanto, encontrei duas soluções alternativas que não envolviam a exclusão de todos os pontos de interrupção:
fonte
Acabei de encontrar esse problema. A exclusão de pontos de interrupção não funcionou, ou pelo menos não por si só. Após esta falha, fui a Ferramentas> Opções> Depuração> Símbolos e "Empty Symbol Cache"
e depois limpou a solução e reconstruiu.
Agora parece estar funcionando corretamente. Portanto, se você tentar todas as outras coisas listadas e ainda assim não fizer diferença, essas informações adicionais poderão ajudar ...
fonte
No meu caso, o Visual Studio procurava PDBs de terceiros em caminhos que, na minha máquina, faziam referência a uma unidade óptica. Sem um disco na bandeja, o Windows demorou cerca de 30 para falhar, o que, por sua vez, diminuiu o Visual Studio ao tentar carregar os PDBs daquele local. Mais detalhes estão disponíveis em minha resposta completa aqui: https://stackoverflow.com/a/17457581/85196
fonte
Eu tive o mesmo problema e, mesmo depois de desligar o carregamento do símbolo, o carregamento do módulo no Visual Studio era terrivelmente lento.
A solução foi desativar o software antivírus (no meu caso, NOD32) ou, melhor ainda, adicionar exceções a ele, para que ele ignore os caminhos dos quais seu processo está carregando assemblies (no meu caso, é a pasta GAC e o ASP temporário) Pasta Arquivos .NET).
fonte
Meus 2 centavos,
Eu estava tendo um problema semelhante ao tentar obter um relatório de diagnóstico (Visual Studio 2013) no modo de versão x64 (amostragem da CPU) e enquanto os símbolos dos arquivos DLL necessários estivessem carregados, os símbolos do meu executável não seriam carregados.
Não mudei nada no menu Símbolos. Em vez disso, fiz algumas alterações nas Páginas de propriedades do encadeamento do meu executável no Solution Explorer, a saber
Propriedades de configuração / Geral / Habilitar compilação incremental gerenciada para SIM
Propriedades de configuração / depuração / ambiente de mesclagem para NO
Propriedades de configuração / C / C ++ / Ativar informações de navegação para SIM (/ FR)
Propriedades de configuração / Vinculador / Ativar link incremental para SIM (/ INCREMENTAL)
EDIT: Este último faz o truque
....
Propriedades de configuração / Vinculador / Depuração / Gerar informações de depuração para Sim (/ DEBUG)
....
Depois disso, funcionou e carregou bem os símbolos. Tenho certeza de que um ou mais dos itens acima fez o truque para mim (embora não tenha certeza exatamente qual) e só quero que os outros saibam e tente fazer isso ..
Paz
fonte
Tente clicar com o botão direito do mouse em um dos pontos de interrupção e escolha 'Localização'. Em seguida, marque a caixa de seleção 'Permitir que o código fonte seja diferente da versão original'
fonte
Opções de "aceleração" do símbolo de depuração do Visual Studio 2017, supondo que você ainda não tenha enlouquecido com a personalização de opções:
Tools -> Options -> Debugging -> Symbols
um. Habilite a opção "Microsoft Symbol Server"
b. Clique em "Empty Symbol Cache"
c. Defina seu cache de símbolos como um local fácil de encontrar, como
C:\dbg_symbols
ou%USERPROFILE%\dbg_symbols
1A e 2 são as etapas mais importantes. 1B e 1C são apenas alterações úteis para ajudá-lo a acompanhar seus símbolos.
Depois que o aplicativo carregar todos os símbolos pelo menos uma vez e a depuração não terminar prematuramente, esses símbolos deverão ser carregados rapidamente na próxima vez em que a depuração for executada.
Percebi que, se eu cancelar uma execução de depuração, preciso recarregar esses símbolos, pois acho que eles serão "limpos" se forem introduzidos novamente e cancelados repentinamente. Entendo o raciocínio central desse tipo de fluxo, mas neste caso parece mal pensado.
fonte
Desmarcar "Ativar depuração de JavaScript para ASP.NET (Chrome e IE)" em Ferramentas-> Opções-> Depuração-> Geral resolveu meu caso com indisponibilidade para iniciar o depurador VS2017 com pontos de interrupção predefinidos.
fonte
A única coisa que funcionou para mim foi mudar o tipo de código.
Na janela Anexar ao processo , alterei a seleção Anexar para: para determinar automaticamente o tipo de código a ser depurado , e meus pontos de interrupção foram atingidos.
Eu anteriormente tinha apenas o código nativo selecionado.
fonte
Eu tive um problema semelhante em que o visual studio continua carregando o símbolo e ficou preso.
Acontece que adicionei alguns "argumentos de linha de comando" nas opções de depuração e um dos parâmetros é inválido (devo passar alguns valores).
Depois de remover o parâmetro extra, ele começa a funcionar novamente.
fonte