Дорожная карта отладчика Windows - PullRequest
5 голосов
/ 20 февраля 2011

Кажется, что существуют десятки средств отладки и отладки, которые Microsoft производит, что создает лабиринт выбора и вопросов относительно того, какой инструмент применять и когда. Например, есть windbg - и отладчик, встроенный в Visual Studio. Оба могут получить доступ к мини-дампам. Почему я бы выбрал одно из другого?

Dr. Уотсон был стандартным инструментом анализа послеубойных аварий в прошлом. Теперь он был заменен на «Отчеты о проблемах и решения». Что в свою очередь заменяется на IIS Exception Monitor на серверах? И, возможно, все это построено поверх «Microsoft CDB Debugger», или, возможно, это еще один дублирующий инструмент? ADPlus, еще один, построен на отладчике CDB. Лабиринт, кажется, продолжается бесконечно.

Может ли кто-нибудь предоставить ссылку на таксономию или дорожную карту всех этих инструментов, с комментариями к которым не рекомендуется (доктор Ватсон?) И какое «отладку инструмента» должны усвоить учащиеся? Я уверен, что есть ряд инструментов и базовых библиотек, которые я здесь не упомянул. было бы неплохо также узнать зависимости между ними (например, ADPlus с использованием отладчика CDB).

Я нашел эту ссылку полезной, поскольку она отвечает на некоторые вопросы, которые я задаю, хотя материал датирован. Любые другие ресурсы, которые дают столь же простое сравнение / уменьшение контраста?

1 Ответ

4 голосов
/ 20 февраля 2011

Нет никакой разницы между CDB и NTSD , за исключением того, как они порождают новые окна. Выбор, когда использовать Visual Studio поверх отладчиков командной строки, иногда зависит от личного выбора, но иногда командная строка - лучший инструмент для этой работы. Как только вы научитесь использовать отладчики командной строки, вы сможете сделать все гораздо быстрее. Я подозреваю, что есть несколько сценариев, в которых вы можете отладить только определенную проблему с помощью отладчика командной строки, но я не могу придумать ничего лишнего. Третий пропущенный отладчик - kd, отладчик ядра. Если вы хотите отлаживать содержимое режима Kernal (то есть, драйверы устройств, которые вы написали), это действительно ваш единственный выбор.

CDB, NTSD и KD являются частью инструментов отладки для Windows , которые являются частью DDK. Visual Studio не зависит от другого пакета отладки и наоборот.

Уотсон и т.п. не являются отладчиками. Они просто наблюдают и сообщают. Я подозреваю, что лучший совет - это использование, которое подходит для вашей проблемы. Я имею в виду, что существует множество инструментов для всех видов технологий MS. Например. Orca для баз данных MSI. Все эти продукты не связаны, часто выпускаются и поддерживаются различными подразделениями и т. Д. В результате я сомневаюсь, что вы найдете диаграмму, показывающую их отношения, поскольку они настолько разнообразны.

...