En octubre del 2007, Scott Guthrie anunció que se iba a disponer la posibilidad de depurar el código incluyendo el propio escrito por Microsoft para gran parte del .Net Framework.
Esta opción ya está disponible siguiendo estos pasos:
Primero hay que instalarse un parche para que Visual Studio admita esta funcionalidad.
Luego te abres Visual Studio 2008, y en Tools Options, lo pones así:
Luego, en las opciones de Symbols, apuntas a este origen: http://referencesource.microsoft.com/symbols
También define una ubicación para el caché local (esto te ahorrará mucho tiempo)
Y asegúrate de no tener habilitada la opción de buscar en esa ubicación (esta es de mi propia cosecha J)
La opción de cargar los símbolos cuando el diálogo se cierra te permite asegurarte que todo está correcto (y descargar todo de inicio que es bastante).
Cuando confirmes, Pepe Seguridad aparecerá por allí (que bien que hace):
Y a depurar!
Por ejemplo, esta rutina permita cargar una lista de directorios en un control, treeview cuando se expande el nodo que corresponde a un disco:
Ponemos un punto de interrupción….
Ejecutamos y, cuando llega a dicho punto, llamamos a Step Into:
Y estamos en el código del Framework! (que no lo escribí yo, se nota porque:
- Está en C#
- Los comentarios están en Ínglish (que a veces los pongo pero trato que cuando publico por aquí no salgan).
Y un truco más
Una vez hayas depurado en una oportunidad, puedes deshabilitar la referencia a los símbolos de http://referencesource.microsoft.com/symbols
Eso hará que Visual Studio no se ponga más lento… pero deberás recordar recargarlos cada tanto por si los actualizan! J
Detalle final.
No digas nada, pero parece ser que en Microsoft tienen considerada la posibilidad de ejecutar el Net Framework en otros sistemas operativos… J