Herramientas para debug de aplicaciones Windows


Buenas tardes,me gustaría hacer un resumen de una conferencia que asistí  en BDotNet dictado por ivanov cepeda.

Esa noche empezó hablar de las diferentes problemas que tiene que enfrentar un desarrollador principalmente en un aplicación web entre ellas nombro:

Tipo de problemas:


  • aplicaciones que no responden por completo (Hangs)
  • aplicaciones que se reinician o termine de forma inesperada (Crashes).
Premisas en ambientes de producción:


  • no puedo detener el servicio.
  • no es posible reiniciar el servidor.
  • Las herramientas no deben afectar el rendimiento
  • Las herramientas no deben alterar el ambiente 
  • Los problemas suceden de forma aleatoria
  • Visual Studio no es una opción
El recomienda que el ultimo recurso sea depurar y utilizar herramientas como tracing  o
perfiladores antes de usar depuradores.

algunos depuradores que  describió:

WinDbg(online y postmordem) A traves de puestos TCP

CDb(online y postmordem)
Debug diagnostcs Tool 1.2 (pstmordem)
ProcDump(postmordem)

Describió  que con estas herramientas se puede realizar ingeniería inversa, también que librerías de terceros pueden intervenir con la aplicación volviéndola inestable . Básicamente los depuradores lo que hacen es hallar dump en memoria que no es otra cosa que le dice que clase de .net esta mal utilizada e impide el correcto funcionamiento de esta.


entre los problemas que se describió fuero las malas practicas de código lo  como lo cerrar una conexion a una base de datos,abusar de las condenaciones de la clase String.

imagen de WinDbg


 





Acá un vídeo graciosos que encontré

Depurando aplicaciones en Ambientes de producción by NelsonVenegas on GoAnimate