Pregunta

He seguido Tess Ferrandez' blog para la creación de un tema personalizado en WinDbg.

También han comenzado a poner en marcha de forma automática con WinDbg -c ".cmdtree c: \ mycmdtree.txt"

Esto abre correctamente mi archivo cmdtree como una ventana de comandos, pero no puedo conseguirlo para atracar correctamente. El problema parece ser que las ventanas 'comandos' sólo pueden abrirse después de haber abierto un archivo DMP, pero abrir un archivo DMP se cambia fuera del espacio de trabajo 'base', por lo tanto, cualquier cambio en su espacio de trabajo no se guardan.

¿Alguna idea?

¿Fue útil?

Solución

Esta simple petición resulta realmente complicado. posiciones de la ventana de WINDBG se guardan en un espacio de trabajo. WinDBG tiene varios espacios de trabajo predeterminados:

  • Base - este es el espacio de trabajo que se utiliza antes de empezar a depurar (sin vertedero abierto, sin exe abierta, no apegarse a nada)
  • archivo de volcado de Per - para cada vaciado se abre, usted tiene un espacio de trabajo para este archivo
  • Per archivo ejecutable -. Para cada archivo ejecutable que abra
  • User-mode - usado cuando se está vivo depuración en modo de usuario
  • de modo de núcleo - se utiliza cuando se está en modo de núcleo de depuración
  • por máquina arquitectura - 1 para x64, 1 para x 86, y 1 para IA64
  • a distancia - utilizada cuando se está depurando remoto

Para cualquier tipo dado de depuración (es decir, fácil de modo directo o el análisis de descarga de post-mortem) por lo general terminan con una combinación de ajustes de base + Su tipo de depuración.

Si abre un archivo de volcado, se obtiene archivo de volcado BASE + Per Si vivo de depuración de modo de usuario, se obtiene el usuario modo BASE + Si vive núcleo de depuración de una máquina de 64 bits, se obtiene BASE + de modo de núcleo x64 +

Todos los cambios que realice en cualquier modo determinado se guarda en el espacio de trabajo que se superponen pasado. Esto significa que si abrimos un archivo de volcado (por lo que estamos Base + por volcado), cambios en la configuración se guarda en el espacio de trabajo por esta basura.

Además de la construcción de espacios de trabajo y todas sus combinaciones, no se nombran los espacios de trabajo (cliente). Estos serían cuando vaya a Archivo> Guardar espacio de trabajo, y proporcionar un nombre para guardar todos los ajustes que luego se pudo habilitar el lanzamiento de WinDbg con el argumento de línea de comandos -W.

Volver a su pregunta. ¿Cómo puedo obtener el .cmdtree para abrir? En el espacio de trabajo de base no se puede. Muchas de las ventanas sólo están disponibles cuando el depurador no se encuentra en estado latente (en su espacio de trabajo BASE). Una vez que el depurador en cualquiera de sus estados activos, a continuación, estas ventanas están disponibles.

El problema se encuentra con es que con el fin de obtener una configuración todo lo que la forma que desee, usted tiene que tener el depurador en un estado activo (un exe abierta, una apertura de descarga, la depuración en directo) y al momento de guardar usted diseño de la ventana, sino que también va a salvar, que exe que tenías abiertas, o volcado, o de depuración en vivo que estaba haciendo.

Su mejor apuesta es hacer precisamente lo que ya estaban haciendo, que es apenas utilizar el -c en el registro (HKEY_CLASSES_ROOT \ WinDbg.DumpFile.1 \ shell \ open \ command). Esto le permitirá simplemente haga clic doble un vertedero y obtener estas opciones de línea de comandos cada vez que usted está haciendo análisis de descarga. A continuación, puede crear un acceso directo a windbg que también incorpora la línea de comandos por lo que estos ajustes se aplicarán para los otros tipos de depuración que haces.

Esta es mi línea de comandos de la regkey arriba:

"c: \ depuradores \ x64 \ windbg.exe" -z "% 1" -Q -W interna -c" .load winde.dll; .enable_unicode 1; .ignore_missing_pages 1; .logopen / t C: \ usuarios \ Jasone \ Logs \ debug.log; aS .P .Proceso / p / r; aS .t .thread / p / r;! como P proceso;! como t hilo;! aS .F .Frame; como DV dv / V / I / T; aS .F .Frame "

¿Qué hace esto?

lanza el depurador, agregados a archivo de volcado, sin preguntar para guardar la configuración del espacio de trabajo, Abre mi espacio de trabajo "interno" (un espacio de trabajo nuevo que creó), y ejecutar estos comandos a las extensiones de depurador de cargas, preferencias de configuración, y crear alias que hacen mi vida más fácil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top