Para depurar un error fatal en NVDA, o un error en una aplicación mientras NVDA está funcionando, necesitas un volcado del error de la aplicación en cuestión.

Depuración con WinDBG

Obteniendo WinDBG

Necesitarás descargar las herramientas de depuración para Windows. Sigue las instrucciones que se encuentran en https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit (en inglés).

Configuración de la interfaz de WinDBG

Por defecto, WinDBG maneja sus ventanas de una manera que no te permite llegar a la barra de menú con el teclado mientras estás en una ventana de depuración. Para solucionar este problema:

  • Abre WinDBG desde el menú inicio
  • Elige Window -> MDI Emulation
  • Responde que sí a la pregunta que aparecerá
  • Elige File -> Save Workspace

Rutas de símbolos para WinDBG

Para depurar con éxito una aplicación, WinDBG necesita los archivos de símbolos de depuración de esa aplicación. WinDBG necesita saber de dónde recuperarlos. Generalmente sólo hay que hacer esto una vez, aunque depende del proyecto:

  • Abre WinDBG
  • Elige file -> Symbol file paths…
  • Escribe una ruta de símbolos que incluya tanto las direcciones del servidor de símbolos de Microsoft como la del servidor de símbolos de NVAccess. Se recomienda que le indiques a WinDBG que haga una caché local. Por ejemplo:
    cache*;srv*http://msdl.microsoft.com/download/symbols;srv*http://www.nvaccess.org/files/nvda/symbols
  • Pulsa OK
  • Elige file -> Save workspace
  • Cierra WinDBG

Visualización del volcado de error

Abre el archivo de volcado en Windbg, bien desde el explorador de Windows o bien desde file -> Open Crash Dump desde el propio WinDBG. A partir de ahí, puedes analizar el error con comandos como estos:

  • Analizar (información útil sobre el error): !analize -v
  • Mostrar una pila de llamadas donde ocurrió el error: .ecxr; kc
  • Mostrar una pila de llamadas con ruta de origen y números de línea en el código fuente cuando sea posible: .ecxr; kp

Notas extra

  • Algunas versiones de Windows 10 del programa Windows Insider no tienen sus símbolos subidos a los servidores de Microsoft. Necesitarás descargar el paquete de símbolos que corresponda, si está disponible.
  • Los símbolos de las versiones estables y de desarrollo de NVDA se encuentran en los servidores de NVAccess. Sin embargo, si ejecutas NVDA desde el código fuente o haces una versión modificada, será necesario que especifiques los símbolos producidos por tu propia compilación.