Mejoras del Debugger de VS 2010 (Breakpoints, Data Tips, Import/Export)

Éste es el vigésimo primer post de una serie que estoy realizando sobre VS 2010 y .NET 4. En el post de hoy veremos unas cuantas mejoras del depurador de VS 2010.
El debugger de VS 2010 tiene un montón de nuevas características. Como el Intellitrace (aka historial de debuggin), las nuevas capacidades para debuggin paralelo/multithreaded, y el soporte de dump debugging son una muestra de las mejoras que espera la gente sobre el debugging en esta nueva versión. Bloguearé próximamente sobre alguna de estas características.
En este post veremos, creo que de una pequeña parte de ellas, pero creo que mejoran un montón la usabilidad para estas tareas.
Etiquetas de Breakpoint
VS 2010 incluye un nuevo soporte para administrar mejor los breakpoints. Una característica llamada “Breakpoint Labels” – permite un mejor agrupamiento y filtrado de breakpoints en un proyecto o en una solución.
En versiones anteriores teníamos que administrar cada breakpoint como un elemento separado. En proyectos grandes, esto puede ser muy duro y hay ocasiones en las que te gustaría agruparlos como “grupos lógicos” que querámos activar/desactivar mientras estamos depurando. Con esta nueva característica podemos agrupar los breakpoints y administrarlos como una unidad.
Agrupar varios breakpoints usando una etiqueta
Aquí tenéis un pantallazo con una lista de breakpoints en VS 2010. Vemos una lista de breakpoints definidos en la soluicón (en este caso es parte del código fuente de ASP.NET MVC 2):

El primer y último breakpoint de la lista para el depurador cuando se crea o se destruye una instancia de un objeto Controller del ASP.NET MVC Framework.
Ahora con VS 2010 puedo seleccionar estos dos breakpoints, clic derecho, y seleccionar el menú “Edit Labels…” para darles un mismo nombre/etiqueta (haciéndolos más fácil de encontrar y administrar):

Aquí tenéis el diálogo que aparece cuando seleccionamos el comando. Podemos usarlo para crear una etiqueta para nuestros breakpoints o selecionar una que ya hayamos definido. En nuestro ejemplo crearemos uno llamado “Lifetime management” para describir lo que encierran estos breakpoints:

Cuando le damos al botón “OK” los dos breakpoints se agrupan bajo esa nueva etiqueta:

Filtrar/ordenar por etiquetas
Podemos usar el combobox “Search” para filtrar y ordenar por etiquetas. Aquí estamos viendo los breakpoints con la etiqueta Lifetime Management:

Activar/Desactivar los breakpoints de una etiqueta
También podemos activar y desactivar los breakpoints que estén agrupados por etiquetas. Tan sólo tenemos que filtrar por el label, hacemos Ctrl+A para seleccionarlos todos, y activarlos/desactivarlos con un solo clic:

Importar/Exportar Breakpoints
VS 2010 soporta ahora la importacion/exportación de breakpoints en archivos XML – con lo que podremos pasárselo a otro desarrollador, enlazarlo a un informe de bug, o simplemente recargarlo más tarde.
Para exportar sólo un conjunto de breakpoints, podemos filtrar por una etiqueta en particular y darle al botón de “Export breakpoint” en la ventana de breakpoints:

En la imagen anterior he filtrado mi lista de breakpoints para exportar dos breakpoints en particular (en concreto un bug con el que me he encontrado). Puedo exportarlos a un XML y adjuntarlo a un informe de bugs o un email – que permitirá a algún desarrollador configurar el debugger fácilmente en el estado correcto para investigarlo en una máquina diferente.
Información sobre datos cubiertos
Visual Studio 2010 también incluye algunas características de datos que nos permiten ver y tracear variables y expresiones en el navegador.
Simplemente con poner la variable o una expresión veremos su Datatip(una etiqueta que muestra su valor) – y hacer clic en el nuevo botón “pin” para hacer el valor siempre visible:

Podemos establecer cualquier numero de DataTips que queramos en la pantalla. Además de poder hacer esto con variables, también podemos hacerlo con las sub-propiedades de variables y hacer lo mismo.
Aquí tenéis tres variables “pinneadas”: “category”, “Request.RawUrl” y “Request.LogonUserIdentity.Name”. fijáos que estas dos últimas son sub-propiedades del objeto “Request”:

Asociar comentarios a variables “pinneadas”
Encima de una variable “pinneada” se expone más información en el depurador:

Haciendo clic en el botón se expande la información de la variable – y podemos añadir comentarios:

Esto hace realmente fácil enlazar y tracear notas de debugging:

Estos pins son usabes tanto en sesiones de Debug como en sesiones de Visual Studio
Estos pines pueden usarse en multiples sesiones de debugging. Esto significa que si paramos el debugger, hacemos algún cambio del código, recompilamos y empezamos otra sesión de debug – cualquier dato pinneado seguirá estándo ahí, junto a cualquier comentario que hayamos asociado.
Establecer el valor de la última sesión de debug (mejorado el editor de código)
¿Cuántas veces habéis terminado de depurar sólo para volver al código y decir:
$#@! – ¿Cual era el valor de esa variable?
Una de las características de los valores pinneados es que se guarda el último valor obtenido en la sesion de debug anteriore – y podemos ver esos valores en el editor de VB/C# incluso cuando el depurador está parado.
Estos DataTips están ocultos por defecto cuando estáis en el editor de código y el depurador no está en ejecución. En el margen izquierdo del editor de código, veremos una chincheta por cada Datatip que hayamos puesto anteriormente:


Pasando el ratón por encima veremos el valor en la pantalla. Aquí podéis ver qué ocurre cuando paso el ratón por la primera chincheta del editor. Muestra los últimos valores de la sesion de depuración anterior junto al comentario que asociamos:

Esto hace mucho más fácil seguir el estado de las condiciones que hemos ido viendo y tenerlo disponible en el editor de código.
Importar/Exportar Pinned DataTips
Como he mencionado anteriormente, estos valores son guardados en las sesiones de VS (no hay que hacer nada para activar esto).
VS 2010 también soporta la exportación e importación de estos DataTips a archivos XML – que podemos pasar a otros desarrolladores:

Combinado con el nuevo soporte de exportación e importación de breakpoints hace mucho más fácil para los desarrolladores compartir configuraciones de depuración y colaborar entre sesiones de depuración
Resumen
VS 2010 incluye un montón de nuevas características de depuración – tanto grandes como pequeñas.
En el post de hoy hemos visto algunas mejoras del depurador. Todas estas características están soportadas por la versión Profesional de VS 2010 (también está soportado en Visual Studio 2010 Express Edition).
Veremos las nuevas “grandes” características de depuración como el Intellitrace, depuración paralela/multithread y análisis de archivos dump en futuros post.
Espero que sirva.
Scott.
Traducido por: Juan María Laó Ramos.
Artículo original.

0 comentarios sobre “Mejoras del Debugger de VS 2010 (Breakpoints, Data Tips, Import/Export)”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *