Frage

Ich habe gefolgt Blog ‚Tess Ferrandez ein eigenes Thema in WinDbg für die Einrichtung.

Ich habe auch begonnen WinDbg automatisch mit -c ".cmdtree c: \ mycmdtree.txt" startet

Es öffnet sich richtig meine cmdtree Datei als Fenster Befehle, aber ich kann es nicht richtig andocken bekommen. Das Problem scheint, dass ‚Befehle‘ Fenster nur geöffnet werden kann, zu sein, nachdem Sie eine DMP-Datei geöffnet haben, aber eine DMP-Datei öffnen schaltet man aus dem ‚Basis‘ Arbeitsbereich, damit alle Änderungen an Ihrem Arbeitsplatz werden nicht gespeichert.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Diese einfache Anforderung erweist sich wirklich kompliziert. WinDbg die Fensterpositionen werden in einem Arbeitsbereich gespeichert. WinDbg hat mehrere Standard-Arbeitsbereiche:

  • Basis - das ist der Arbeitsbereich, der verwendet wird, bevor Sie starten das Debuggen (keine Dump geöffnet, keine exe offen, nicht zu irgendetwas befestigt)
  • Pro-Dump-Datei - für jeden Dump Sie öffnen, Sie haben einen Arbeitsbereich für diese Datei
  • Pro ausführbare Datei -. Für jede ausführbare Datei, die Sie öffnen
  • User-Modus - verwendet, wenn Sie Live-User-Mode-Debugging
  • sind
  • Kernel-Modus - verwendet, wenn Sie Kernel-Modus-debuggen
  • Pro Maschinenarchitektur - 1 für x64, 1 für x86, & 1 für IA64
  • Remote - verwendet, wenn Sie Remote-debuggen

Für jede gegebene Art von Debug (d User Live-Modus oder Post-Mortem-Dump-Analyse), die Sie in der Regel mit einer Kombination von Einstellungen der Base + Ihre Art von Debug beenden.

Wenn Sie eine Speicher-Abbild-Datei zu öffnen, erhalten Sie BASE + Pro-Dump-Datei Wenn Sie Live-User-Mode-Debug, erhalten Sie BASE + User-Modus Wenn Sie leben Kernel Debug eine x64-Maschine, erhalten Sie BASE + Kernel-Modus + x64

Alle Änderungen, die Sie in einem bestimmten Modus vornehmen, werden im Arbeitsbereich gespeichert, die zuletzt überlappt wurde. Dies bedeutet, dass, wenn wir eine Dump-Datei öffnen (so wir Base + Pro-Dump sind), würden alle Änderungen an den Einstellungen für diese Müllhalde im Arbeitsbereich gespeichert werden.

Zusätzlich zu den integrierten Arbeitsbereiche und alle ihre Kombinationen sind dort genannt (Kunde) Workspaces. Diese würden, wenn Sie gehen auf Datei> Arbeitsbereich speichern, und geben Sie einen Namen alle Sie die Einstellungen zu speichern, die Sie dann beim Start von Windbg mit dem -W Befehlszeilenargument ermöglichen könnten.

Zurück zu Ihrer Frage. Wie kann ich die .cmdtree bekommen zu öffnen? In dem Basis-Arbeitsbereich können Sie nicht. Viele der Fenster sind nur verfügbar, wenn der Debugger nicht in dem Ruhezustand (in ihrem BASE Arbeitsbereich). Sobald Sie den Debugger in eine ihrer aktiven Zustände bekommen, dann sind diese Fenster zur Verfügung.

Das Problem, das Sie den Weg läuft, ist, dass, um alles Setup so, wie Sie es haben möchten, müssen Sie den Debugger in einem aktiven Zustand haben (eine exe offen, einen Dump öffnen, Live-Debugging) und wenn Sie gehen zu sparen Sie Fenster-Layout, es wird auch sparen die exe Sie geöffnet hatte, oder dump, oder Live-debug Sie taten.

Ihre beste Wette ist, um nur das tun, was Sie schon taten, das ist nur die -c in der Registrierung zu verwenden (HKEY_CLASSES_ROOT \ WinDbg.DumpFile.1 \ shell \ Open \ command). Dies ermöglicht es Ihnen einfach doppelt auf einen Dump klicken und diesen Befehlszeilenoptionen jedes Mal erhalten Sie Dump-Analyse tun. Anschließend können Sie eine Verknüpfung erstellen, um Windbg, dass auch die Befehlszeile enthält, so werden diese Einstellungen für die anderen Arten von angewendet werden Debuggen Sie tun.

Hier ist meine Befehlszeile aus dem regkey oben:

"c: \ debuggers \ x64 \ windbg.exe" -Z "% 1" -Q -W Internal -c“.load winde.dll; .enable_unicode 1; .ignore_missing_pages 1; .logopen / t C: \ Benutzer \ Jasone \ Logs \ debug.log; aS .P .Verfahren / p / r; aS .T .thread / p / r;! aS P-Prozess;! t aS Gewinde;! aS .F .frame; aS dv dv / V / i / t; aS .f- .frame "

Was bedeutet das?

startet der Debugger, Attaches zu Dump-Datei, keine Aufforderung Arbeitsplatz Einstellungen zu speichern, öffnen Sie „Internal“ Arbeitsplatz (a benannten Arbeitsbereich I erstellt), und diese Befehle zu laden Debugger-Erweiterungen, Setup-Einstellungen ausführen, und erstellen Aliase, dass make mein Leben einfacher.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top