Esta simple solicitud resulta realmente complicada. Las posiciones de ventana de WinDbg se guardan en un espacio de trabajo. WinDBG tiene varios espacios de trabajo predeterminados:
- de 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)
- por archivo de volcado - para cada tirarte abrir, tiene un espacio de trabajo para este archivo
- Por archivo ejecutable - para cada archivo ejecutable que abra.
- modo de usuario - se utiliza cuando se está en modo de usuario en vivo depuración
- modo de núcleo - se utiliza cuando se está en modo de núcleo depuración
- Por arquitectura de la máquina - 1 para x64, 1 para x86, & 1 para IA64
- remoto - utiliza cuando se está depuración remota
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 BASE + Per archivo de volcado Si vive depuración de modo de usuario, se obtiene BASE + User-Mode Si vive kernel depurar una máquina x64, se obtiene BASE + kernel modo + x64
Todos los cambios que realice en cualquier modo dado se guardan en el área de trabajo que se superpuso al último. Esto significa que si abrimos un archivo de volcado (por lo que somos Base + Per dump), cualquier cambio en la configuración se guardará en el espacio de trabajo para este vuelco.
Además de los espacios de trabajo incorporados y todas sus combinaciones, hay espacios de trabajo nombrados (clientes). Esto sucedería cuando vaya a Archivo> Guardar área de trabajo y proporcione un nombre para guardar todas las configuraciones que luego podría habilitar al iniciar Windbg usando el argumento de línea de comando -W.
Volver a tu pregunta. ¿Cómo puedo hacer que el .cmdtree se abra? En el espacio de trabajo base no puedes. Muchas de las ventanas solo están disponibles cuando el depurador NO está en estado inactivo (en su espacio de trabajo BASE). Una vez que obtenga el depurador en cualquiera de sus estados activos, estas ventanas estarán disponibles.
El problema con el que se encuentra es que para tener todo configurado de la forma que desee, debe tener el depurador en estado activo (un exe abierto, un volcado abierto, depuración en vivo) y cuando vaya a guardar el diseño de la ventana, también va a guardar qué exe tenía abierto, o volcado, o depuración en vivo que estaba haciendo.
Su mejor opción es hacer lo que ya estaba haciendo, que es simplemente usar la -c en el registro (HKEY_CLASSES_ROOT \ WinDbg.DumpFile.1 \ shell \ Open \ command). Esto le permitirá hacer doble clic en un volcado y obtener estas opciones de línea de comando cada vez que realice un análisis de volcado. A continuación, puede crear un acceso directo a windbg que también incorpore la línea de comando, por lo que estas configuraciones se aplicarán para los otros tipos de depuración que realice.
Aquí es mi línea de comandos de la regkey arriba:
"c: \ depuradores \ x64 \ windbg.exe" -Z "% 1" "winde.dll .load -Q -W -c interna; .enable_unicode 1; .ignore_missing_pages 1; .logopen/t C: \ Users \ jasone \ Logs \ debug.log; aS .p .process/p/r; aS .tththread/p/r; aS! p! process ; aS! t! thread; aS .f .frame; aS dv dv/V/i/t; aS .f .frame "
¿Qué hace esto?
Inicia el depurador, se adjunta al archivo volcado, NO se le pide que guarde la configuración del espacio de trabajo, abra mi espacio de trabajo "interno" (un área de trabajo designada que creé) y ejecute estos comandos para cargar extensiones de depuración, configurar preferencias y crear alias que hacerme la vida más fácil
¿Realmente logró configurar la ventana de acoplamiento con la respuesta proporcionada? Tengo 2 problemas: a) atraca, pero no en la posición que me gusta yb) siempre conecta una segunda ventana –