Atualização de 22 de fevereiro de 2013 : A entrada do Microsoft Connect tem uma observação de Alok Shriram (gerente de programa, bibliotecas de classes básicas, .NET Framework) que o problema deve ser resolvido agora. A entrada do Connect está marcada como Resolvido (Fixo) :
Este problema agora deve ser corrigido. Publicamos uma atualização para fontes de referência. Informe-nos caso seu problema ainda não tenha sido corrigido.
Ano e meio.
Links de bônus
Vote para que esse bug seja corrigido no Microsoft Connect .
Tópico no Microsoft Social que está acontecendo há um ano e meio, perguntando quando será consertado .
Questão Original
Como habilito a revisão de origem do .NET Framework no Visual Studio 2010?
Nota : esta questão é uma parte de um todo maior:
- .NET 2.0 WinForm: Suportando DPI e alterações de fonte padrão
- Os controles do WinForms não escalam durante o ScaleControl
- VS2010: Como habilitar "Enable .NET Framework source stepping"?
- Visual Studio 2010 Professional: Como acessar a janela Módulos?
- Visual Studio 2010: Propriedades. Configurações quebradas após redirecionar o projeto para .NET Framework 3.5
O Visual Studio 2010 vem com um novo recurso:
- Ferramentas, opções, depuração, geral, habilitar revisão de origem do .NET Framework
Seguindo as instruções na página MSDN How to: Debug .NET Framework Source :
Para habilitar a depuração de fonte .NET Framework
No menu Ferramentas , clique em Opções .
Na caixa de diálogo Opções , clique na categoria Depuração .
Na caixa Geral , marque as seguintes caixas de seleção:
- Habilitar revisão de origem do .NET Framework
- Habilitar suporte ao servidor de origem
Eu faço isso:
Observação : você notará, como a página do MSDN observa, e como eu percebi, que a seleção de Ativar revisão de origem do .NET Framework desmarcará automaticamente ** Ativar apenas meu código (somente gerenciado). Também habilitei as mensagens de diagnóstico do suporte ao servidor de origem.
A ativação dessas opções define automaticamente um local de download do cache de símbolos para mim:
Nota : A entrada do Microsoft Symbol Server já está presente (e não pode ser removida).
A página do MSDN diz para carregar os símbolos:
Para carregar símbolos do Framework usando a janela Módulos
Na janela Módulos , clique com o botão direito em um módulo para o qual os símbolos não foram carregados. Você pode saber se os símbolos estão carregados ou não olhando a coluna Status dos símbolos .
Aponte para Carregar Símbolos de e clique em Servidores de Símbolos da Microsoft para baixar os símbolos do servidor de símbolos públicos da Microsoft ou Caminho do Símbolo para carregar de um diretório onde você tenha armazenado símbolos anteriormente.
Eu tento isso:
e então todos os símbolos são carregados:
Eu estou sentado em um ponto de interrupção, que está prestes a chamar o código do .NET Framework:
protected override void ScaleControl(SizeF factor, BoundsSpecified specified)
{
base.ScaleControl(factor, specified);
Empurrar F11faz com que o depurador simplesmente pule para a próxima linha:
protected override void ScaleControl(SizeF factor, BoundsSpecified specified)
{
base.ScaleControl(factor, specified);
//Record the running scale factor used
this.scaleFactor = new SizeF(
this.scaleFactor.Width * factor.Width,
this.scaleFactor.Height * factor.Height);
Como habilito a revisão de origem do .NET Framework no Visual Studio 2010?
Estou sentado em um ponto de interrupção no meu código. Tento clicar duas vezes em uma função mais acima na pilha de chamadas. Isso, espero, me permitiria pular para o código .NET:
Exceto que não funciona: o Visual Studio me diz que não há nenhuma fonte disponível:
Como habilito a revisão de origem do .NET Framework no Visual Studio 2010?
Se eu mudar para a visualização de desmontagem antes de tentar entrar no código .NET ( Depurar -> Windows -> Desmontagem ), poderei ver um call
no código .NET:
E quando o faço, acabo depurando uma desmontagem de System.Windows.Forms.ScaleControl
:
O que não é o mesmo ou tão útil quanto ser capaz de entrar no código-fonte do .NET Framework.
Como habilito a revisão de origem do .NET Framework no Visual Studio 2010?
O caminho de cache de símbolo configurado em meu computador contém arquivos de cache de símbolo:
Portanto, ele está baixando pdb
arquivos de símbolo, mas se recusando a usá-los.
Como habilito a revisão de origem do .NET Framework no Visual Studio 2010?
Leppie sugeriu que eu verificasse o Debug
log (com a janela de log de depuração aberta; caso contrário, ele não registra nada):
Step into: Stepping over method without symbols 'System.Windows.Forms.Form.ScaleControl'
Anteriormente no log, eu o vejo carregando símbolos para System.Windows.Forms.dll
:
Loaded 'C:\Windows\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll', Symbols loaded.
Portanto, ele está encontrando meus símbolos, mas alegando que não conseguiu encontrá-los.
Como habilito a revisão de origem do .NET Framework no Visual Studio 2010?
Um cara da Microsoft Itália sugere desativar Exigir arquivos de origem para corresponder exatamente à versão original :
Isso não resolveu.
Como habilito a revisão de origem do .NET Framework no Visual Studio 2010?
Foi sugerido que há um bug no servidor de origem da Microsoft para .NET Framework 4.0 . Seguindo essa sugestão, mudei o projeto para o .NET Framework 3.5 de destino :
Isso não resolveu.
Como habilito a revisão de origem do .NET Framework no Visual Studio 2010?
Alguém em algum lugar se perguntou se outra pessoa com o mesmo problema estava usando a versão de 64 bits do depurador . Agora, não existe uma versão de 64 bits do Visual Studio, mas eu tentei mudar meu projeto de AnyCPU para x86 (estava sendo JITed para x64), caso a Microsoft não suporte processadores de 64 bits:
Isso não resolveu:
Step into: Stepping over method without symbols 'System.Windows.Forms.Form.ScaleControl'
Como habilito a revisão de origem do .NET Framework no Visual Studio 2010?
Veja também
- Configurando o Visual Studio para depurar o código-fonte do .NET Framework
- Não é possível depurar o código do .NET Framework no VS2010
- A revisão da fonte do .NET framework não funciona apesar das opções definidas
- Configurando o Visual Studio 2010 para entrar no código-fonte do Microsoft .NET
- Depuração de código-fonte do Visual Studio 2008 SP1 .NET Framework
- Sem Depurar> janela Módulos no Visual Studio 2008 Versão 9.0.21022.8 RTM