Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Существует шесть доступных сред отладки:
- WinDbg
- WinDbg (классическая модель)
- Отладчик ядра (KD)
- NTKD
- Отладчик консоли (CDB)
- Символьный отладчик NT (NTSD)
В следующих разделах описаны среды отладки.
WinDbg
WinDbg — это последняя версия WinDbg с современными визуальными элементами, более быстрыми окнами и полнофункциональным интерфейсом для скриптинга, созданным с расширяемой моделью данных отладчика в качестве основной составляющей. WinDbg использует тот же базовый механизм, что и WinDbg (Классическая версия), поэтому все команды, расширения и рабочие процессы, которые вы любите и знаете, будут работать так же, как и раньше.
Дополнительные сведения см. в разделе "Функции WinDbg"
WinDbg (классическая модель)
Отладчик Microsoft Windows WinDbg (классическая версия) — это отладчик на основе Windows, который может выполнять отладку в режиме пользователя и в режиме ядра. WinDbg обеспечивает отладку для ядра Windows, драйверов в режиме ядра и системных служб, а также приложений и драйверов в пользовательском режиме.
WinDbg использует форматы отладочных символов Visual Studio для отладки на уровне источника. Он может получить доступ к любым символам или переменным из модуля с PDB-файлами, а также к именам любых открытых функций, предоставляемых модулями, которые были скомпилированы с использованием COFF-файлов символов (например, файлы .dbg Windows).
WinDbg может просматривать исходный код, задавать точки останова, просматривать переменные (включая объекты C++), трассировки стека и память. Его командное окно отладчика позволяет пользователю выполнять различные команды.
Для отладки в режиме ядра WinDbg обычно требуется два компьютера (главный компьютер и целевой компьютер). WinDbg также поддерживает различные параметры удаленной отладки для целевых объектов в пользовательском режиме и в режиме ядра.
WinDbg — это графический интерфейс, который является аналогом CDB/NTSD и KD/NTKD.
KD
Отладчик ядра Майкрософт (KD) — это консольная программа на основе символов, которая обеспечивает подробный анализ активности в режиме ядра во всех операционных системах на основе NT. KD можно использовать для отладки компонентов и драйверов в режиме ядра или для мониторинга поведения самой операционной системы. KD также поддерживает отладку мультипроцессора.
Как правило, KD не выполняется на компьютере, находящемся в процессе отладки. Для отладки в режиме ядра требуется два компьютера ( главный компьютер и целевой компьютер).
NTKD
Существует вариант отладчика KD с именем NTKD. Он идентичен KD во всех отношениях, за исключением того, что он создает новое текстовое окно при запуске, в то время как KD наследует окно командной строки, из которого он был вызван.
CDB
Отладчик консоли Microsoft (CDB) — это консольная программа на основе символов, которая обеспечивает низкоуровневый анализ памяти и конструкций в пользовательском режиме Windows. Имя отладчик консоли используется, чтобы указать, что CDB классифицируется как консольное приложение; это не означает, что целевое приложение должно быть консольным приложением. На самом деле CDB полностью поддерживает отладку консольных приложений и графических программ Windows.
CDB является чрезвычайно мощным средством для отладки программы, которая в настоящее время запущена или недавно завершилась сбоем (интерактивный анализ), но при этом прост в настройке. Его можно использовать для изучения поведения рабочего приложения. В случае сбоя приложения CDB можно использовать для получения трассировки стека или исследования неисправных параметров. Он хорошо работает в сети (с помощью сервера удаленного доступа), так как он основан на символах.
С помощью CDB можно отображать и выполнять программный код, задавать точки останова и проверять и изменять значения в памяти. CDB может анализировать двоичный код, разбирая его и отображая инструкции по сборке. Он также может анализировать исходный код напрямую.
Так как CDB может получить доступ к расположениям памяти через адреса или глобальные символы, вы можете ссылаться на данные и инструкции по имени, а не по адресу, что упрощает поиск и отладку определенных разделов кода. CDB поддерживает отладку нескольких потоков и процессов. Он расширяем и может читать и записывать как страницы, так и нестраничную память.
Если целевое приложение является консольным приложением, целевой объект будет совместно использовать окно консоли с CDB. Чтобы создать отдельное окно консоли для целевого консольного приложения, используйте параметр командной строки -2 .
NTSD
Существует вариант отладчика CDB с именем Microsoft NT Symbolic Debugger (NTSD). Она идентична CDB во всех отношениях, за исключением того, что она создает новое текстовое окно при запуске, в то время как CDB наследует окно командной строки, из которого он был вызван.
Так как команда start также может использоваться для создания нового окна консоли, следующие две конструкции дают одинаковые результаты:
start cdb parameters
ntsd parameters
Можно перенаправить входные и выходные данные из NTSD (или CDB), чтобы его можно было управлять отладчиком ядра (Visual Studio, WinDbg или KD). Если этот метод используется с NTSD, окно консоли не будет отображаться вообще. Таким образом, управление NTSD из отладчика ядра особенно полезно, так как это приводит к чрезвычайно легкому отладчику, который практически не создаёт никакой нагрузки на компьютер, на котором находится целевое приложение. Это сочетание можно использовать для отладки системных процессов, завершения работы и последующих этапов загрузки. Дополнительные сведения см. в разделе "Управление отладчиком пользовательского режима" из отладчика ядра.