Para evitar esta mala experiencia de usuario, el mecanismo de excepciones no manejadas en modo usuario ha sido completamente rediseñado en Windows Vista. A continuación se muestra un diagrama explicativo:

Para empezar, un nuevo servicio denominado "Windows Error Reporting" (WerSvc), alojado en un proceso Svchost.exe, mantiene abierto un puerto de comunicación con el núcleo del sistema operativo. A través de este puerto, el núcleo del sistema operativo estará informado de toda excepción que ocurra en modo usuario (note que ahora es el núcleo el que maneja todo esto, cosa que no sucedía en versiones anteriores de Windows). El kernel conecta con la aplicación y le da la oportunidad de capturar y tratar la excepción. Si ésta no es tratada, la petición se dirige a cualquier otro puerto de excepciones que esté asociado a la aplicación en cuestión. Todas las excepciones no manejadas de aplicaciones Win32 acaban en Csrss.exe, que forma el subsistema Win32 y es un proceso crítico del sistema operativo. Csrss.exe retorna el valor EXCEPTION_CONTINUE_SEARCH, lo que hace que el kernel informe al servicio WerSvc antes mencionado sobre la aplicación que ha producido el fallo. WerSvc, basándose en la información que ha recibido (PID, tipo de excepción, etc.), crea un nuevo proceso, Werfault.exe, que decide si adjuntar o no un depurador a la aplicación. El código de la DLL Faultrep.dll alojada por dicho proceso es la encargada de examinar la clave correspondiente, que es la misma que en versiones anteriores de Windows: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AeDebug. Puede ver una captura de la traza correspondiente de Process Monitor:

Si hubiera un depurador disponible, se hará cargo del proceso en cuestión; si no lo hubiera, WerFault.exe generará un reporte del fallo y almacenará la información correspondiente para que sea tratada por el componente "Problemas y soluciones" de Windows Vista (WerCon). Al contrario de lo que ocurre en versiones anteriores de Windows, por defecto no se mantiene una copia del volcado de memoria del proceso en cuestión (imagino que por cuestiones de privacidad). Para modificar este comportamiento, abra Inicio, haga clic sobre Iniciar búsqueda, escriba regedit y elija el programa ofrecido. Acceda a la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting. Cree un nuevo valor DWORD de nombre ForceQueue y establézcale como contenido un 1. Reinicie el sistema y a partir de entonces los volcados de memoria se irán almacenando en las carpetas %AllUsersProfile%\Microsoft\Windows\WER (para procesos del sistema o con privilegios elevados), y en %LocalAppData%\Microsoft\Windows\WER (para el resto).
Otra forma de generar manualmente un volcado pequeño de memoria (minidump) de un proceso en Windows Vista es, desde Administrador de tareas, pestaña Procesos, seleccionar el proceso en cuestión con el botón derecho del ratón y hacer clic sobre Crear archivo de volcado. El volcado tendrá el nombre del proceso, extensión .dmp, y estará en la carpeta de temporales del usuario: %LocalAppData%\Temp. El volcado lo genera Administrador de tareas con la ayuda de la DLL Dbghelp.dll del directorio de sistema.