Ich bin immer noch ein relativer Neuling mit C++, und ich habe ein Problem mit der DLL von Drittanbietern, dass ich statisch zu meiner nativen C++ DLL verlinken. Ich verwende Visual Studio 2012, um meine DLL zu debuggen.Was kann WinDbg mir sagen, dass Visual Studio nicht kann?
(FWIW, die Drittanbieter-DLL ist Sybase Open Client, und ich bin Debuggen meine DLL über eine C# ausführbare ich geschrieben habe, die dynamisch meine C++ DLL lädt.)
Ich habe verwendet Visuelle Studio, um in die Disassembly einzusteigen und die Register und die Speichernutzung für die DLL des Drittanbieters zu betrachten. Visual Studio hat mir eine Menge guter Informationen darüber gegeben, was in meinem Prozess vor sich geht, aber ich habe das Gefühl, dass es dort mehr geben kann als das, was ich sehe, und vielleicht einen einfacheren oder effizienteren Weg, um dorthin zu gelangen.
Ich habe gelesen, dass WinDbg ein sehr leistungsfähiges Werkzeug ist, aber dass es viel Zeit und Mühe braucht, um es gut zu benutzen. Meine Frage ist: Ist es die Mühe wert zu lernen, WinDbg zu verwenden, oder werden die Debugging-Tools in Visual Studio mir ziemlich genau die gleichen Informationen geben?
Versuchen Sie einmal, die Windows-Heaps im Visual Studio-Debugger zu gehen. Dann gelingt es tatsächlich * mit WinDbg. – WhozCraig
WinDbg Skript als obskur wie seine Syntax ist kann im Vergleich zu dem, was VS erlaubt, mächtig sein, obwohl vielleicht mit einem Add-In oder Makro können Sie ähnliche Funktionalität in VS erhalten. – 0xC0000022L
Speicherlecksuche, automatische Crash-Analyse, Leckverfolgung, Speichersuche, Möglichkeit, Aufruf-Stacks aller Threads einfach abzulegen, Breakpoints setzen/aufheben, wenn Breakpoints getroffen werden, Debugging auf Rechnern, auf denen VS nicht installiert ist, .net debugging, Protokollieren, skriptfähig, unterstützt Schleifen .. etc .. Grundsätzlich, was Sie erhalten, ist ein leichtes, kein BS-Debugger, Tonnen von Tools, die schmerzhafte Aufgaben zu automatisieren, die entweder schwierig oder unmöglich mit VS sind, die höchste Bestätigung, die Sie sehen, ist, dass MS verwenden dies zu debuggen Windows, steile Lernkurve, aber letztlich sehr lohnend – EdChum