martes, 18 de febrero de 2014 – #Developer

Generalmente cuando estamos desarrollando una aplicación estamos “testeando” nuestras líneas de código.

En lo personal, me apoyo constantemente de la ventana Inmediato para mostrar los valores de una variable, para hacer asignaciones, para ejecutar un procedimiento o para conocer el resultado de una función. A veces, requiero de apoyo visual que me informe sobre el resultado, y acudo a los MessageBox.

Situación

En una ocasión realicé una aplicación que obtenía la información de una tabla de una base de datos y la mostraba en un control DataGridView. Como la aplicación “tardaba” en obtener la información, lo que hacía era ejecutarla y me cambiaba de aplicación para poder avanzar con otras cosas. Al finalizar la aplicación mostraba un MessageBox en donde me decía que ya había finalizado, y con eso regresaba a ver el código. En un par de ocasiones esos MessageBox que me ayudaban para saber el estado de mi aplicación se fueron con la aplicación. Se imaginarán al cliente dándole clic’s a esos mensajes que se me habían escapado.

Soluciones

Una opción para solucionar mi situación era optar por quitarme la “maña” de usar los MessageBox. La otra era investigar sobre cómo podía saber si mi aplicación se estaba ejecutando desde un depurador (en este caso Visual Studio). De esta última forma ya no tenía que cambiar mi código en ningún momento, ya que los mensajes solo me saldrían a mí.

Encontré varios métodos, pero el que más me convenció fue la propiedad IsAttached de la clase System.Diagnostics.Debugger. Gracias a esa propiedad de tipo Boolean puedo saber si la aplicación se está ejecutando desde un depurador o no.

Veamos un ejemplo de cómo podemos hacer uso de la propiedad en nuestro código:



¿Este artículo fue de utilidad?

Si tu respuesta es SÍ puedes hacermelo saber con un Gracias e incluso lo puedes compartir a tus seguidores a través de un Tweet.

Opcionalmente puedes realizar un donativo para comprar más café con la finalidad de mantenerme despierto y seguir escribiendo más artículos.