Mit windbg von Visual Studio
Ist es möglich, verwenden Sie windbg Kommandos wie !locks
und .loadby sos mscorwks
von der Visual Studio-Eingabeaufforderung (in einer debug-Sitzung)? Ich habe bemerkt, die ich verwenden kann zB k
zu drucken, einen stack-trace, so Frage ich mich, ob es eine Möglichkeit gibt, um Zugang zu den anderen Befehlen.
InformationsquelleAutor ngoozeff | 2010-08-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, Sie können dies tun.
!load sos
!EEHeap,!DumpHeap
Gibt es einige Bedingungen. Sie müssen enable unmanaged code debugging in Ihrem Projekt Eigenschaften. Normalerweise in 64-bit-version des studio unterstützt diese.
Spaß haben.
denke nur die sos-Kommandos sind hier möglich!!Jemand korrigiert mich wenn ich falsch bin
Sorry, Erbsenzählerei hier, aber die sind nicht WinDbg-Kommandos, aber SOS-Befehle. Leider sind die regelmäßigen WinDbg-Kommandos werden nicht von VS ist, soweit ich weiß, das macht es ein wenig schwerer zu verwenden, SOS. Auch der VS nicht alle notwendigen IDebugClient Schnittstellen, so dass die Ausgabe von SOS ist ein bisschen laut in der VS.
Brian hat Recht, die strenge Antwort auf die Frage ist NEIN. SOS ist NICHT WinDbg. Neben WinDbg hat eine x64-version, in der Erwägung, dass SOS nicht, ich.e, wenn Sie wollen, um debug x64-apps ohne Neukompilierung Sie in 32bit dann WinDbg, Außerhalb des VS, ist der einzige Weg zu gehen
!load sos
schlägt auf VS2013: "Bezeichner "Last" ist nicht definiert'.InformationsquelleAutor ferosekhanj
Visual Studio 2012 hat die "Windows User Mode Debugger" transport in die "an den Prozess Anhängen" dialog. Dies ermöglicht die Verwendung von windbg-Befehle in das Direktfenster.
Quelle: Verwenden Sie den WinDbg-Engine in Visual Studio-Benutzer-Modus Debuggen
Aus dem link:
Another caveat is that currently you need to install the WDK on top of Visual Studio 11 to get the debugger integration.
Es hat bei mir nicht funktioniert, bis ich das WDK installiert.Ich kann bestätigen, dass bei der Installation von Windows 8.0 WDK auf der Basis von Visual Studio hast, installieren Sie die Visual Studio-integration sowie. Ich kann jetzt wählen Windows User Mode Debugger als den transport (oder wähle einen anderen debugger aus einem Projekt der Debugger Einstellungen). Es scheint zuverlässig zu funktionieren, auch wenn es langsam ist für mich. Einige features aus den VS-debugger fehlen (z.B. Tracepoints), während andere sich verändert haben (z.B. andere syntax für die Einstellung der Funktion breakpoints). Die leistungsstarke WinDbg Erweiterung Befehle wie
!handle
oder!locks
sind inzwischen von der VS-GUI (Debugger Direktfenster).Hinweis: Für Visual Studio 2015, WDK 10 ist erforderlich für die "Windows User Mode Debugger" - transport.
InformationsquelleAutor Kevin Smyth
Ab Windows Driver Development Kit (WDK) 8.0 der Windows-debugger ist integriert in Visual Studio (siehe Debugging-Umgebungen). Die Installation des WDK auf der Spitze eines Visual Studio-installation ermöglicht es einem Entwickler, um eine Reihe von Debugger von der an den Prozess Anhängen dialog, oder legen Sie die debugging-engine, die in ein Projekt Debugger Einstellungen. Dies wurde verifiziert für Visual Studio 2012 und 2013. Die Art, wie ich Lesen Sie den MSDN-link oben, dies sollte auch für jede andere IDE, die unterstützt wird durch die WDK 8.0 und höher.
Während WinDbg bietet eine Menge leistungsfähige Befehle, es gibt einige Nachteile sowie. Diese Liste ist nicht vollständig und enthält lediglich jene Fragen, die ich habe Begegnung:
.sympath
.windbg
'sbp
Befehl akzeptiert einen Befehl ausführen, wenn der Haltepunkt erreicht wird, so können Sie emulieren Sie einen tracepoint ein. Zum Beispielbp combase!CoSetErrorInfo "dt combase!CErrorObject %edx; g"
Waren Sie in der Lage, diese Methode verwenden, mit VS 2017 und WDK (esp. version 1507+)? Debuggen User-Mode-Prozess Mit Visual Studio - Seite sagt "Diese Funktion ist nicht verfügbar" für diese Kombination, und wenn ich versuchte (nach der änderung das Ziel, "Localhost") ich habe immer ein E_FAIL mit "unable to connect / - operation nicht unterstützt"! Ich versuche, um sicherzustellen, dass es sich nicht nur um ein Konfigurations-Problem auf meinem Ende.
InformationsquelleAutor IInspectable