WinDbg

Windbg
Entwickler (en) Microsoft
Stabile Version
10.0.20153.1000 / 29. April, 2020
Betriebssystem Microsoft Windows
Typ Debugger
Lizenz Kommerziell
Webseite Debugging -Tools bei Docs.microsoft.com

Windbg ist ein Mehrzweck Debugger für die Microsoft Windows Computer Betriebssystem, verteilt von Microsoft.[1] Debuggen ist der Prozess des Finden und Lösen von Fehlern in a System; Bei der Berechnung beinhaltet es auch die Erforschung des internen Betriebs von Software Als Hilfe zur Entwicklung. Es kann verwendet werden, um zu debuggen Benutzermodus Anwendungen, Gerätetreiberund das Betriebssystem selbst in Kernelmodus.

Überblick

Wie das bekannte Visual Studio Debugger Windbg hat a grafische Benutzeroberfläche (GUI), ist aber mächtiger und hat sonst wenig gemeinsam. Windbg kann automatisch laden Debugging -Symbol Dateien (z. B.,, PDB Dateien) von einem Server durch Übereinstimmung mit verschiedenen Kriterien (z. B. Zeitstempel, CRC, Einzel- oder Multiprozessor -Version) über SYMSRV (symsrv.dll),[2] Anstelle der zeitaufwändigeren Aufgabe, einen Symbolbaum für eine Debugging-Zielumgebung zu erstellen. Wenn ein privater Symbolserver konfiguriert ist, können die Symbole mit dem korreliert werden Quellcode für die Binärdatei. Dies erleichtert die Belastung durch Debugging -Probleme, die verschiedene Versionen von Binärdateien auf dem Debugging -Ziel installiert haben, indem die Notwendigkeit der Suche und Installation bestimmter Symbole auf dem Debug -Host beseitigt wird. Microsoft verfügt Servicepakete).[3]

Windbg kann auch zum Debuggen des Kernel-Modus verwendet werden Speichermülldeponien, erstellt nach dem, was allgemein als die genannt wird Bluescreen des Todes was auftritt, wenn a Fehlerprüfung wird ausgestellt.[4] Es kann auch verwendet werden, um User-Mode-Crash-Dumps zu debuggen. Dies ist bekannt als als Post-Mortem-Debugging.[5]

Jüngste Versionen von Windbg wurden im Rahmen der kostenlosen Debugging-Tools für Windows Suite verteilt, die ein gemeinsames Debugging-Back-End zwischen Windbg und teilt Befehlszeile Debugger Frontends Wie KD, CDB und NTBS. Die meisten Befehle können wie bei allen enthaltenen Debugger-Frontends verwendet werden.

2017 kündigte Microsoft eine neue Version von Windbg namens Windbg Preview (auch bekannt als Windbgx) an.[6] Eine der bemerkenswertesten Merkmale der Windbg -Vorschau ist so genannt Zeitreise-Debugging (TTD).[7] Die Hauptidee hier ist, dass Sie einen tatsächlichen Live -Prozess (bei einer Leistungsstrafe) für späteres Debuggen aufzeichnen können, die rechtzeitig hin und her gehen. Diese Funktion ist besonders nützlich während des Umkehrungsprozesses. Es ermöglicht auch das Schreiben von Skripten in der JavaScript -Sprache.[8]

Erweiterungen

Windbg ermöglicht das Laden der Erweiterung Dlls[9] Dies kann die unterstützten Befehle des Debugger erhöhen und Hilfe beim Debuggen bestimmter Szenarien ermöglichen: beispielsweise eine Anzeige eines MSXML Dokument bei einem ixmldomdocument oder debugging das Gemeinsame Sprachlaufzeit (CLR).[10] Diese Erweiterungen sind ein großer Teil dessen, was Windbg zu einem so starken Debugger macht. Windbg wird von der verwendet Microsoft Windows Produktteam zum Erstellen von Windows und alles, was zum Debuggen von Windows erforderlich ist, ist in diesen Erweiterungs -DLLs enthalten.

Erweiterungsbefehle werden immer vorangestellt !.

Während einige Erweiterungen nur in Microsoft verwendet werden, sind die meisten von ihnen Teil der öffentlichen Debugging -Tools für Windows -Paket.

Das Erweiterungsmodell ist in der Hilfedatei dokumentiert, die in den Debugging -Tools für Windows enthalten ist.

Ext.dll

EXT ist eine Standard -Windows -Debugger -Erweiterung, die mit Windbg versendet und standardmäßig geladen wird.

! Analysieren Sie den Befehl

Der am häufigsten verwendete Befehl ist ! Analysieren -v,[11] Dies analysiert den aktuellen Zustand des Programms, das im Moment des Absturzes oder des Aufhängens debuggen wird und den Maschinen-/Prozessstatus. Dieser Befehl ist oft in der Lage, das aktuelle Problem vollständig automatisiert zu debuggen.

Wenn ohne Schalter verwendet, !analysieren Gibt einfach die Ergebnisse seiner Analyse zurück. Das -V und -VV Geben Sie weitere Details zu dieser Analyse an.

WOW6432EXTS.dll

WOW6432EXTIPS ist eine Standard -Windows -Debugger -Erweiterung, die mit Windbg geliefert wird. Es wird verwendet, um Prozesse zu debugieren, die im Inneren laufen Wow64 (32-Bit-Prozesse in 64-Bit-Fenstern).[12]

Sos.dll

Der SOS (Sohn des Streiks)[13] Debugging Extension (SOS.DLL) unterstützt bei Debugging Managed Programs in Visual Studio und WindBG, indem Informationen über die interne Umgebung für die interne Sprachlaufzeit (CLR) bereitgestellt werden. Dieses Tool erfordert, dass ein Projekt nicht verwaltetes Debugging aktiviert hat. SOS.DLL wird automatisch mit dem .NET -Framework installiert. Um SOS.DLL in Visual Studio zu verwenden, installieren Sie das Windows Triver Kit (WDK).[14] Um einen Prozess- oder Speicher -Dump zu debuggen, muss die SOS.DLL -Version mit der .NET -Framework -Version übereinstimmen. PSSCOR2 und PSSCOR4 sind ein Superset von SOS.

Psscor2.dll

PSSCOR2 ist die Windows -Debugger -Erweiterung, die zum Debuggen von .NET -Framework -Anwendungen verwendet wird, die die .NET CLR Version 2.0 (.NET Framework -Versionen 2 bis 3.5) verwenden. PSSCOR2 wurde im Rahmen ihrer Produktunterstützungsdienste -Tools für den internen Gebrauch bei Microsoft entwickelt.[15] Während Microsoft 2010 nur PSSCOR2 veröffentlicht hat [16] Microsoft hatte einige Jahre zuvor Befehle aus der Erweiterung veröffentlicht.[17] Diejenigen, die versuchten, ihren Prozessen zu folgen, verursachen Schwierigkeiten.

Psscor4.dll

PSSCOR4 ist eine Windows -Debugger -Erweiterung, die zum Debuggen von .NET Framework 4 -Anwendungen verwendet wird.

Kopplung mit virtuellen Maschinen

Windbg ermöglicht das Debuggen eines Microsoft -Windows -Kernels, der auf einem ausgeführt wird virtuelle Maschine durch VMware, VPC oder Parallelen Verwendung einer benannte Pfeife. Dies kann durch Verwendung a erreicht werden virtuell Com Port. Im Fall von VMware und VirtualboxDie VirtualKD -Erweiterung fügt dem Windows -Kernel die native Unterstützung für das Debuggen von VM hinzu und behauptet, das Debuggen um einen Faktor von bis zu 45 zu beschleunigen.[18] Zum Windows 8 Und später ist Kernel -Debugging über das Netzwerk erlaubt,[19] Ermöglichen Sie ein schnelles Kernel -Debuggen ohne spezielle Konfiguration.

Protokoll

Das Windbg -Protokoll wird nicht dokumentiert, wird jedoch von der unterstützt Ida Pro und Radare2 Disassembler.

Siehe auch

Verweise

  1. ^ Eliotatle. "Laden Sie das Windows -Treiber -Kit (WDK) herunter". Msdn.microsoft.com. Abgerufen 23. April 2018.
  2. ^ "Debugging mit Symbolen (Windows)" ". Support.microsoft.com. Abgerufen 23. April 2018.
  3. ^ Domars. "Microsoft Public Symbol Server". Msdn.microsoft.com. Abgerufen 23. April 2018.
  4. ^ "Wie benutze ich Windbg -Debugger, um einen blauen Bildschirm des Todes zu beheben?". TechRepublic. Abgerufen 23. April 2018.
  5. ^ "Post-Mortem-Debugging von .NET-Anwendungen mit Windbg". Tewarid.github.io. 10. September 2010. Abgerufen 23. April 2018.
  6. ^ "Neue Windbg in der Vorschau verfügbar! - Debugging -Tools für Windows". blogs.msdn.microsoft.com. Abgerufen 2019-08-13.
  7. ^ "Nutzung des neuen Windbgx- und Zeitreiseverfolgungskreises, um alle Zugriff auf Dateien aufzulisten-Rodney Vianas (MSFT) -Blog".. blogs.msdn.microsoft.com. Abgerufen 2019-08-13.
  8. ^ "Einfacheres Windbg -Skript mit JavaScript für Malware Research - AVAR 2018". Abgerufen 2019-08-13.
  9. ^ Domars. ".load, .loadby (ladenerweiterung dll)". Msdn.microsoft.com. Abgerufen 23. April 2018.
  10. ^ "MSDN Magazine Ausgaben". Msdn.microsoft.com. Abgerufen 23. April 2018.
  11. ^ Domars. "analysieren". Msdn.microsoft.com. Abgerufen 23. April 2018.
  12. ^ "Debugging WoW64 (Windows)". Msdn.microsoft.com. Abgerufen 23. April 2018.
  13. ^ "SOS -Debugging des CLR, Teil 1". Blogs.msdn.com. Archiviert von das Original am 28. Juli 2010. Abgerufen 23. April 2018.
  14. ^ Mairaw. "SOS.DLL (SOS -Debugging -Erweiterung)". Msdn.microsoft.com. Abgerufen 23. April 2018.
  15. ^ "Neue Debugger -Erweiterung für .NET (PSSCOR2)". Blogs.msdn.com. Abgerufen 23. April 2018.
  16. ^ "Neue Debugger -Erweiterung für .NET, PSSCOR2, veröffentlicht". Blogs.msdn.com. Abgerufen 23. April 2018.
  17. ^ "MSDN Magazine Ausgaben". Msdn.microsoft.com. Abgerufen 23. April 2018.
  18. ^ "Virtualkd - Windows -Kernel -Debugger -Booster für virtuelle Maschinen". Virtualkd.sysprogs.org. Abgerufen 23. April 2018.
  19. ^ Domars. "Einrichten von Kernel-Mode-Debuggen über ein Netzwerkkabel manuell". Msdn.microsoft.com. Abgerufen 23. April 2018.

Externe Links