Que levante la mano, quién no depuro alguna vez!. Sobretodo en esas amanecidas de trabajo, unos días antes de una presentación :$, que con un ojo duermes y con el otro programas, y al día siguiente un poco más consiente; cuando copiaste el código, te olvidaste de cambiar el nombre, o llamaste a una propiedad que no era, entre otras cosas que suelen pasar en esas amanecidas. Cuando son aplicaciones con pocas variables y con variables simples no hay problema, pero cuando usas objetos de negocio de 15 a 30 campos la depuración se puede poner un poco espesa y trabajosa. Si no conocían el concepto de Visualizer, ahora podrán dormir con un ojo y con la mitad del otro xD con una ligera tranquilidad.
Bueno primeros veremos que es un Debugger Visualizer, en espaniol Visualizador de Depuración:
Se han percatado que cuando están depurando:
En algunos casos, mejor dicho en cierto tipo de datos, String y DataSet, hasta donde me entere, aparece un icono con lupita, al pasar el mouse por la variable:
Si han sido un poco más curiosos y alguna vez presionaron la lupita, se habrán podido dar cuenta que nos muestra el contenido del texto:
Pero ahí no acaba la cosa, si somos un poco más curiosos, nos daremos cuenta que al pulsar el ícono con la flecha hacia abajo, aparecerán otros visualizadores para el string: “Text Visualizer“, “XML Visualizer“, y “HTML Visualizer“:
Y si hacemos clic en HTML Visualizer veremos nuestro anterior contenido en su vista HTML “:o”:
Ahora también esta disponible en Visual Studio el “DataSet Visualizer“, con el cual veremos los datos de un DataSet, DataTable y un DataView.
En la web encontré algunos otros Visualizers:
- Data Debugger Visualizer: VS 2005 debug visualizers for DataSet, DataTable, DataView, DataRow and DataColumn objects.
- Image Visualizer.
Ahora, que pasa si quiero crear mi Visualizer personalizado, si tienes objetos con información compleja esto te puede servir mucho a la hora de depurar. He creado el mi “Custom Visualizer“, y no ha sido tan difícil, ni ha tomado tanto tiempo, hacer uno básico:
Acá dejo la receta:
- Agregamos una nuevo ítem a nuestro proyecto (Windows Application, no necesaramiente), Debugger Visualizer:
- Leer los TODO y cambiarlos xD.
- Recuperar el objeto que vamos a visualizar, en mi caso mi objeto es cNoticia:
cNoticia data = (cNoticia)objectProvider.GetObject(); - Diseño mi formulario Visualizer, como se pegue la regalada gana, es decir, muestro todo lo que desee y como desee:
- Llamo a mi formulario creado, frmVNoticia, en el cual he sobrecargado el constructor para enviarle mi objeto a Visualizar:
using (frmVNoticia displayForm = new frmVNoticia(data))
{
displayForm.Text = “Noticia: ” + data.NOTTitulo;
windowService.ShowDialog(displayForm);
} - Ahora en la definición de la clase del objeto que deseo depurar, agrego lo siguiente:
- Ahora en el evento Load de mi formulario agrego lo siguiente:
- Y vualá! Si queremos instalar nuestro Custom Visualizer, o más detalles sobre la creación de Visualizers personalizados, visitar el siguiente artículo: Creating a Debugger Visualizer Using Visual Studio 2005 Beta 2.
[DebuggerVisualizer(typeof(vNoticia))]
[Serializable]
public class cNoticia
Código Fuente: sergiotarrillo_CreateCustomVisualizer.zip – 46.4 KB.
Otros artículos:
- Creating Debugger Visualizers with Visual Studio 2005
- Improved Debugging with Visual Studio 2005’s Debugger Visualizers
Saludos,
Post cruzado
Básico, en un ambiente de desarrollo y parece que en mantenimiento también. Siempre ante cualquier marcianada