2011-02-20 13 views
5

Wygląda na to, że istnieją dziesiątki narzędzi do debugowania i debugowania opracowanych przez Microsoft, które tworzą labirynt wyborów i pytań dotyczących tego, które narzędzie zastosować i kiedy. Na przykład istnieje windbg - i debugger wbudowany w Visual Studio. Oba mogą uzyskać dostęp do minizrzutu. Dlaczego wybrałbym jeden nad drugim?Mapa drogowa Debuggera systemu Windows

Dr Watson był domyślnym narzędziem analizy wypadków z przeszłości. Został on teraz zastąpiony przez "Problem Reports & Solutions". Który z kolei jest zastępowany przez Monitor wyjątków IIS na serwerach? A może wszystko to jest zbudowane na "Microsoft CDB Debugger", a może to kolejne zduplikowane narzędzie? ADPlus, jeszcze jeden, jest zbudowany na CDB Debugger. Labirynt wydaje się ciągnąć bez końca.

Czy ktoś może podać link do taksonomii lub mapy drogowej wszystkich tych narzędzi, z których komentarze są przestarzałe (Dr Watson?) I jakie "debugowanie narzędziowe" powinni debugować uczniowie? Jestem pewien, że istnieje wiele narzędzi i bibliotek podstawowych, o których tu nie wspomniałem. Byłoby miło poznać zależności między nimi (takie jak ADPlus przy użyciu Debiana CDB).

Znalazłem this link, aby pomóc, ponieważ odpowiada na niektóre z pytań, które zadaję - choć materiał jest datowany. Jakieś inne zasoby, które dają podobnie prosty test porównania/kontrastu?

Odpowiedz

4

Nie ma różnicy między CDB and NTSD, poza tym, że odradzają się nowe okna. Wybór, kiedy używać Visual Studio przez debugery wiersza poleceń jest czasami kwestią osobistego wyboru, ale czasami linia poleceń jest lepszym narzędziem do pracy. Po uzyskaniu dobrego dostępu do debuggerów wiersza poleceń można uzyskać znacznie szybciej. Podejrzewam, że istnieje kilka scenariuszy, w których można tylko debugować określony problem z debugerem wiersza poleceń, ale nie mogę myśleć o żadnym off-hand. Trzecim brakującym debuggerem jest kd, czyli debugger kernal. Jeśli chcesz debugować rzeczy w trybie Kernala (tj. Sterowniki urządzeń, które napisałeś), to naprawdę twój jedyny wybór.

CDB, NTSD i KD są częścią debugging tools for Windows, która sama jest częścią DDK. Visual Studio nie zależy od innego pakietu debugowania i na odwrót.

Watson i podobne nie są debuggerami. Po prostu obserwują i raportują. Podejrzewam, że najlepszą radą jest użycie, którekolwiek z nich jest właściwe dla twojego problemu. Mam na myśli, że istnieje wiele narzędzi do różnych rodzajów technologii MS. Na przykład. Orca dla baz danych MSI. Wszystkie te produkty są niezwiązane, często wydawane i utrzymywane przez różne działy itp. W rezultacie wątpię, aby znaleźć wykres pokazujący ich związki, ponieważ są one tak różnorodne.