Articulo de referencia

WinDbg

{{Cite web\n | url = https://learn.microsoft.com/en-us/windows-hardware/drivers/debuggercmds/windbg-release-notes\n | title = WinDbg release notes\n | website = Microsoft Learn\...

WinDbg es un depurador multipropósito para el sistema operativo de computadora Microsoft Windows , distribuido por Microsoft. [ 2 ] Se puede utilizar para depurar aplicaciones en modo de usuario , controladores de dispositivos y el propio sistema operativo en modo kernel .

Descripción general

Al igual que el depurador de Visual Studio , WinDbg tiene una interfaz gráfica de usuario (GUI), pero es más potente y tiene pocas características en común. WinDbg puede cargar automáticamente archivos de símbolos de depuración (por ejemplo, archivos PDB ) desde un servidor mediante un identificador único integrado en el ejecutable (utilizando el "RSDS Guid" [ 3 ] ) a través de SymSrv (SymSrv.dll) [ 4 ] , en lugar de requerir que los usuarios busquen manualmente los archivos. Si se configura un servidor de símbolos privado, los símbolos se pueden correlacionar con el código fuente del binario. Esto facilita la depuración de problemas que tienen varias versiones de binarios instaladas en el destino de depuración, ya que elimina la necesidad de buscar e instalar versiones específicas de símbolos en el host de depuración. Microsoft tiene un servidor de símbolos público que contiene la mayoría de los símbolos públicos para Windows 2000 y versiones posteriores de Windows (incluidos los Service Packs ) [ 5 ] .

WinDbg también se puede usar para depurar volcados de memoria en modo kernel , creados después de lo que comúnmente se conoce como la Pantalla Azul de la Muerte , que ocurre cuando se emite una comprobación de errores . [ 6 ] También se puede usar para depurar volcados de fallos en modo usuario. Esto se conoce como depuración post mortem . [ 7 ]

WinDbg se distribuye como un paquete independiente desde el Portal de depuración de Windows y a través de la Microsoft Store . El motor de depuración de WinDbg es el backend de depuración común entre WinDbg y los frontends de depuración de línea de comandos como KD , CDB y NTSD . La mayoría de los comandos se pueden usar tal cual con todos los frontends de depuración incluidos.

En 2023, Microsoft lanzó una nueva versión de WinDbg, anunciada en 2017 como WinDbg Preview (WinDbgX). [ 8 ] Una de las características más destacadas es la llamada Depuración con Viaje en el Tiempo (TTD). [ 9 ] TTD permite al usuario grabar un proceso en vivo (con una penalización en el rendimiento) para depurarlo posteriormente, retrocediendo y avanzando en el tiempo. Además, WinDbg cuenta con una interfaz de usuario actualizada, compatibilidad con el modo oscuro y navegación por teclado. También permite escribir scripts en el lenguaje JavaScript . [ 10 ] [ 11 ]

Extensiones

WinDbg permite cargar DLL de extensión [ 12 ] que pueden ampliar los comandos compatibles del depurador y brindar ayuda para depurar escenarios específicos: por ejemplo, mostrar un documento MSXML a partir de un IXMLDOMDocument o depurar el Common Language Runtime (CLR) [ 13 ] . Estas extensiones son una parte importante de lo que hace de WinDbg un depurador tan potente. El equipo de producto de Microsoft Windows utiliza WinDbg para compilar Windows, y todo lo necesario para depurar Windows está incluido en estas DLL de extensión.

Los comandos de extensión siempre van precedidos de ! .

Si bien algunas extensiones se utilizan únicamente dentro de Microsoft, la mayoría forman parte del paquete público de Herramientas de depuración para Windows.

El modelo de extensión está documentado en el archivo de ayuda incluido con las Herramientas de depuración para Windows.

Ext.dll

Ext es una extensión estándar del depurador de Windows que viene incluida con WinDBG y se carga de forma predeterminada.

!comando de análisis

El comando más utilizado es !analyze -v [ 14 ] , que analiza el estado actual del programa que se está depurando y el estado de la máquina/proceso en el momento del fallo o bloqueo. Este comando suele ser capaz de depurar el problema actual de forma totalmente automatizada.

Cuando se usa sin ningún parámetro, !analyze simplemente devuelve los resultados de su análisis. Los parámetros -v y -vv proporcionan más detalles sobre dicho análisis.

Wow6432exts.dll

Wow6432exts es una extensión estándar del depurador de Windows que viene incluida con WinDBG. Se utiliza para depurar procesos que se ejecutan dentro de WoW64 (procesos de 32 bits que se ejecutan en Windows de 64 bits). [ 15 ]

SOS.dll

La extensión de depuración SOS (Son of Strike) [ 16 ] (SOS.dll) ayuda a depurar programas administrados en Visual Studio y WinDbg al proporcionar información sobre el entorno interno de Common Language Runtime (CLR). Esta herramienta requiere que un proyecto tenga habilitada la depuración no administrada. SOS.dll se instala automáticamente con .NET Framework. Para usar SOS.dll en Visual Studio, instale el Windows Driver Kit (WDK) . [ 17 ] Para depurar un proceso o volcado de memoria, la versión de sos.dll debe coincidir con la versión de .NET Framework. Psscor2 y Psscor4 son un superconjunto de SOS.

Psscor2.dll

Psscor2 es la extensión del depurador de Windows que se utiliza para depurar aplicaciones de .NET Framework que utilizan la versión 2.0 de .NET CLR (versiones 2 a 3.5 de .NET Framework). Psscor2 se desarrolló para uso interno en Microsoft como parte de sus herramientas de Servicios de soporte de productos. [ 18 ] Si bien Microsoft solo lanzó Psscor2 en 2010 , [ 19 ] Microsoft había estado publicando comandos de la extensión varios años antes, [ 20 ] causando dificultades a quienes intentaban seguir sus procesos.

Psscor4.dll

Psscor4 es una extensión del depurador de Windows que se utiliza para depurar aplicaciones .NET Framework 4.

Acoplamiento con máquinas virtuales

WinDbg permite depurar un kernel de Microsoft Windows que se ejecuta en una máquina virtual mediante VMware , VPC o Parallels utilizando una tubería con nombre . Esto se puede lograr utilizando un puerto COM virtual . En el caso de VMware y VirtualBox , la extensión VirtualKD agrega soporte nativo para la depuración de máquinas virtuales al kernel de Windows, afirmando acelerar la depuración hasta en un factor de 45. [ 21 ] Para Windows 8 y versiones posteriores, se permite la depuración del kernel a través de la red, [ 22 ] lo que permite una depuración rápida del kernel sin configuración especial.

Protocolo

El protocolo WinDbg no está documentado, pero es compatible con los desensambladores IDA Pro y radare2 .

Véase también

Referencias

  1. "Notas de la versión de WinDbg" . Microsoft Learn . Consultado el 3 de julio de 2026 .
  2. EliotSeattle. "Descargar el Kit de controladores de Windows (WDK)" . Msdn.microsoft.com . Consultado el 23 de abril de 2018 .
  3. "Adenda a la especificación PE/COFF" . Consultado el 11 de marzo de 2024 .
  4. "Depuración con símbolos (Windows)" . Support.microsoft.com . Consultado el 23 de abril de 2018 .
  5. DOMARS. "Servidor de símbolos públicos de Microsoft" . Msdn.microsoft.com . Consultado el 23 de abril de 2018 .
  6. "¿Cómo utilizo el depurador WinDBG para solucionar un error de pantalla azul?" . TechRepublic . 18 de diciembre de 2009 . Consultado el 23 de abril de 2018 .
  7. "Depuración post mortem de aplicaciones .NET usando WinDbg" . Tewarid.github.io . 10 de septiembre de 2010. Consultado el 23 de abril de 2018 .
  8. "¡Nuevo WinDbg disponible en versión preliminar! – Herramientas de depuración para Windows" . blogs.msdn.microsoft.com . Consultado el 13 de agosto de 2019 .
  9. "Aprovechando el nuevo WinDbgX y Time-Travel-Trace: script para listar todos los accesos a archivos - Blog de Rodney Viana (MSFT)" . blogs.msdn.microsoft.com . Consultado el 13 de agosto de 2019 .
  10. "Programación de scripts de WinDbg más sencilla con Javascript para la investigación de malware – Avar 2018" . Consultado el 13 de agosto de 2019 .
  11. "¿Qué es WinDbg?" . Consultado el 27 de julio de 2024 .
  12. DOMARS. ".load, .loadby (Cargar DLL de extensión)" . Msdn.microsoft.com . Consultado el 23 de abril de 2018 .
  13. "Números de la revista MSDN" . Msdn.microsoft.com . Consultado el 23 de abril de 2018 .
  14. DOMARS. "analyze" . Msdn.microsoft.com . Consultado el 23 de abril de 2018 .
  15. "Depuración de WOW64 (Windows)" . Msdn.microsoft.com . Consultado el 23 de abril de 2018 .
  16. "Depuración SOS del CLR, Parte 1" . Blogs.msdn.com . Archivado del original el 28 de junio de 2010. Consultado el 23 de abril de 2018 .
  17. mairaw. "SOS.dll (SOS Debugging Extension)" . Msdn.microsoft.com . Consultado el 23 de abril de 2018 .
  18. "Nueva extensión de depuración para .NET (PSSCOR2)" . Blogs.msdn.com . Consultado el 23 de abril de 2018 .
  19. "Se lanza una nueva extensión de depuración para .NET, Psscor2" . Blogs.msdn.com . Consultado el 23 de abril de 2018 .
  20. "Números de la revista MSDN" . Msdn.microsoft.com . Consultado el 23 de abril de 2018 .
  21. "VirtualKD - Depurador de kernel de Windows para máquinas virtuales" . Virtualkd.sysprogs.org . Consultado el 23 de abril de 2018 .
  22. DOMARS. "Configuración manual de la depuración en modo kernel a través de un cable de red" . Msdn.microsoft.com . Consultado el 23 de abril de 2018 .
  • Primeros pasos: Instrucciones de instalación , Parte 1 , Parte 2
  • Herramientas de depuración para Windows : información y descargas gratuitas
  • WinDbg. ¡De la A a la Z! - Teoría y ejemplos, 111 diapositivas
  • Comandos comunes de WinDbg (agrupados temáticamente)
  • Tutorial sobre cómo solucionar fallos del sistema usando WinDbg. Archivado el 12/10/2007 en Wayback Machine.
  • Carga de símbolos en WinDbg. Archivado el 18 de agosto de 2011 en Wayback Machine.
  • Depuradores de Windows: Parte 1: Un tutorial de WinDbg
  • Extensión KD para depuración rápida de VMware y VirtualBox
  • Extensión de depuración SOS (SOS.dll)
  • psscor4 (.NET 4.0) o psscor2 (.NET 2.0-3.5) Reemplazo para SOS con un superconjunto de comandos
  • WinDBG v6.12.2.633 disponible a través de Windows Driver Kit versión 7.1.0
  • Extensión para scripts de Python (pykd)
  • DbgKit: la primera extensión con interfaz gráfica de usuario para herramientas de depuración para Windows.