Desenvolvimento - C#
Acessando código fonte do .NET Framework
Com o lançamento do Visual Studio 2008 e do .NET Framework 3.5 a Microsoft anunciou publicamente a liberação de acesso ao código fonte para leitura durante o debug mediante concordância com os termos de licenciamento. Vale lembrar que as versões Express (gratuitas) não terão acesso a essa funcionalidade.
por Ramon DurãesArtigo recomendado para Visual Studio 2008
Com o lançamento do Visual Studio 2008 e do .NET Framework 3.5 a Microsoft anunciou publicamente a liberação de acesso ao código fonte para leitura durante o debug mediante concordância com os termos de licenciamento. Vale lembrar que as versões Express (gratuitas) não terão acesso a essa funcionalidade.
Para ter o acesso você precisa rodar um hotfix que vai atualizar o Visual Studio 2008 de forma a suportar os downloads dos arquivos de Symbols com as informações necessários ao debug.
As classes abaixo estão disponíveis para utilização:
.NET Base Class Libraries (including System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading, etc).
ASP.NET (System.Web, System.Web.Extensions)
Windows Forms (System.Windows.Forms)
Windows Presentation Foundation (System.Windows)
ADO.NET and XML (System.Data and System.Xml)
Siga os procedimentos abaixo para configuração:
1) Instale o hotfix Visual Studio 2008 QFE
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=10443&wa=wsignin1.0
Pode ocorrer um erro durante a instalação desse fix caso você tenha uma versão anterior (beta 2) instalado. Para resolver basta colocar o dvd do Visual Studio 2008 no drive.
2) Configurando o Visual Studio 2008
Inicie o VS2008 e vá em Tools> Options> Debugging
a) Para iniciar o debug do código fonte desmarque a opção: Enable Just My Code (Managed only)
b) Certifique de marcar a opção: Enabled source server support
Figura 01 - Configurando o debug
3) Configurando arquivo Symbols
O Visual Studio 2008 vai automaticamente baixar os arquivos necessários para o debug do código fonte. Para isso você precisa seguir os passos de configuração abaixo:
a) Adicione a referência para : http://referencesource.microsoft.com/symbols
b) Defina a pasta que será salvo os arquivos de debug.
c) Marque a opção: "Search the above loactions only when symbols are loaded manualy" (Download manual)
d) Você pode optar também por não marcar a opção citada na letra "c" que o Visual Studio vai fazer download automático, porém pode demorar a depender da conexão internet (+- 50 MB). (Recomendado após os primeiros testes)
Figura 02 - Configurando Symbol
4) Iniciando depuração do código
Chegou o tão esperado momento de colocar em prática os conhecimentos e explorar o .NET por dentro.
a) Coloque seu break point dentro do seu código.
b) Rode o projeto.
c) Localize a janela Call Stack ou chame com o atalho: CTRL + ALT + C .
d) Selecione na janela Call Stack as referências e depois Load Symbols conforme figura 03 (download manual).
e) Durante o processo de debug o Visual Studio vai salvar os arquivos de Symbols na pasta cache.
Figura 03 - Janela Call Stack
Definida as configurações você já pode colocar em prática e avaliar por exemplo a implementação do método DataBind de um GridView. Confira nas duas figuras seguintes:
Parte 1 - Colocando Break Point no DataBind()
Figura 04 - GridView / DataBind
Parte 2 - Navegando pelo método DataBind() usando "F11"
Figura 05 - DataBind
Parte 3 - Avaliando a implementação do DataBind do GridView diretamente no código fonte.
Figura 06 - Dentro do método DataBind.
Com esse processo os desenvolvedores mais curiosos agora podem finalmente enxergar em tempo real o que está acontecendo nas chamadas de métodos internos do .NET.
Referências:
- . NET Framework Library Source Code now available
- Configuring Visual Studio to Debug .NET Framework Source Code
Com o lançamento do Visual Studio 2008 e do .NET Framework 3.5 a Microsoft anunciou publicamente a liberação de acesso ao código fonte para leitura durante o debug mediante concordância com os termos de licenciamento. Vale lembrar que as versões Express (gratuitas) não terão acesso a essa funcionalidade.
Para ter o acesso você precisa rodar um hotfix que vai atualizar o Visual Studio 2008 de forma a suportar os downloads dos arquivos de Symbols com as informações necessários ao debug.
As classes abaixo estão disponíveis para utilização:
.NET Base Class Libraries (including System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading, etc).
ASP.NET (System.Web, System.Web.Extensions)
Windows Forms (System.Windows.Forms)
Windows Presentation Foundation (System.Windows)
ADO.NET and XML (System.Data and System.Xml)
Siga os procedimentos abaixo para configuração:
1) Instale o hotfix Visual Studio 2008 QFE
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=10443&wa=wsignin1.0
Pode ocorrer um erro durante a instalação desse fix caso você tenha uma versão anterior (beta 2) instalado. Para resolver basta colocar o dvd do Visual Studio 2008 no drive.
2) Configurando o Visual Studio 2008
Inicie o VS2008 e vá em Tools> Options> Debugging
a) Para iniciar o debug do código fonte desmarque a opção: Enable Just My Code (Managed only)
b) Certifique de marcar a opção: Enabled source server support
Figura 01 - Configurando o debug
3) Configurando arquivo Symbols
O Visual Studio 2008 vai automaticamente baixar os arquivos necessários para o debug do código fonte. Para isso você precisa seguir os passos de configuração abaixo:
a) Adicione a referência para : http://referencesource.microsoft.com/symbols
b) Defina a pasta que será salvo os arquivos de debug.
c) Marque a opção: "Search the above loactions only when symbols are loaded manualy" (Download manual)
d) Você pode optar também por não marcar a opção citada na letra "c" que o Visual Studio vai fazer download automático, porém pode demorar a depender da conexão internet (+- 50 MB). (Recomendado após os primeiros testes)
Figura 02 - Configurando Symbol
4) Iniciando depuração do código
Chegou o tão esperado momento de colocar em prática os conhecimentos e explorar o .NET por dentro.
a) Coloque seu break point dentro do seu código.
b) Rode o projeto.
c) Localize a janela Call Stack ou chame com o atalho: CTRL + ALT + C .
d) Selecione na janela Call Stack as referências e depois Load Symbols conforme figura 03 (download manual).
e) Durante o processo de debug o Visual Studio vai salvar os arquivos de Symbols na pasta cache.
Figura 03 - Janela Call Stack
Definida as configurações você já pode colocar em prática e avaliar por exemplo a implementação do método DataBind de um GridView. Confira nas duas figuras seguintes:
Parte 1 - Colocando Break Point no DataBind()
Figura 04 - GridView / DataBind
Parte 2 - Navegando pelo método DataBind() usando "F11"
Figura 05 - DataBind
Parte 3 - Avaliando a implementação do DataBind do GridView diretamente no código fonte.
Figura 06 - Dentro do método DataBind.
Com esse processo os desenvolvedores mais curiosos agora podem finalmente enxergar em tempo real o que está acontecendo nas chamadas de métodos internos do .NET.
Referências:
- . NET Framework Library Source Code now available
- Configuring Visual Studio to Debug .NET Framework Source Code