WikiDer > WinDbg

WinDbg
WinDbg
Разработчики)Microsoft
Стабильный выпуск
10.0.10075.9 / 29 апреля 2015 г. (2015-04-29)
Операционная системаМайкрософт Виндоус
ТипОтладчик
ЛицензияКоммерческий
Интернет сайтИнструменты отладки на docs.microsoft.com

WinDbg многоцелевой отладчик для Майкрософт Виндоус компьютер Операционная система, распространяемая Microsoft.[1] Отладка это процесс поиска и устранения ошибок в система; в вычислениях это также включает в себя изучение внутренней работы программного обеспечения как помощь в развитии. Его можно использовать для отладки пользовательский режим Приложения, драйверы устройств, и сама операционная система в режим ядра. Как более известный Отладчик Visual Studio оно имеет графический интерфейс пользователя (GUI), но он более мощный и имеет мало общего.

WinDbg можно использовать для отладки в режиме ядра дампы памяти, созданный после того, что обычно называется Синий экран смерти что происходит, когда проверка ошибок выпущен.[2] Его также можно использовать для отладки аварийных дампов пользовательского режима. Это известно как посмертная отладка.[3]

WinDbg может автоматически загружать символ отладки файлы (например, PDB файлы) с сервера путем сопоставления различных критериев (например, отметки времени, CRC, одно- или многопроцессорной версии) через SymSrv (SymSrv.dll),[4] вместо более трудоемкой задачи по созданию дерева символов для целевой среды отладки. Если настроен частный сервер символов, символы могут быть соотнесены с исходный код для двоичного файла. Это облегчает бремя проблем отладки, когда на целевом объекте отладки установлены различные версии двоичных файлов, устраняя необходимость поиска и установки определенной версии символов на хосте отладки. У Microsoft есть общедоступный сервер символов, на котором есть большинство общедоступных символов для Windows 2000 и более поздних версий Windows (включая пакеты обновления).[5]

Последние версии WinDbg распространялись и распространяются как часть бесплатного Инструменты отладки для Windows пакет, который имеет общую серверную часть отладки между WinDbg и командная строка отладчик интерфейсы подобно KD, CDB, и NTSD. Большинство команд можно использовать как есть со всеми включенными интерфейсами отладчика.

Стоит отметить, что в 2017 году Microsoft анонсировала новую версию WinDbg под названием WinDbg Preview (также известную как WinDbgX).[6] Одна из наиболее примечательных особенностей WinDbg Preview - это так называемая отладка с перемещением во времени (TTD).[7] Основная идея здесь заключается в том, что вы можете записать реальный живой процесс (со снижением производительности), чтобы впоследствии отлаживать его взад и вперед во времени. Эта функция особенно полезна в процессе обратного проектирования. Также позволяет писать сценарии на языке JavaScript.[8].

Расширения

WinDbg позволяет загружать расширение DLL[9] которые могут дополнять поддерживаемые отладчиком команды и помогать в отладке определенных сценариев: например, отображение MSXML документ, заданный IXMLDOMDocument, или отладка Общеязыковая среда выполнения (CLR).[10] Эти расширения составляют большую часть того, что делает WinDbg таким мощным отладчиком. WinDbg используется Майкрософт Виндоус команда разработчиков для создания Windows, и все необходимое для отладки Windows включено в эти библиотеки DLL расширения.

Команды расширения всегда начинаются с префикса !.

Хотя некоторые расширения используются только внутри Microsoft, большинство из них являются частью общедоступного пакета Debugging Tools for Windows.

Модель расширения задокументирована в файле справки, включенном в состав средств отладки для Windows.

Ext.dll

Ext - это стандартное расширение Windows Debugger, которое поставляется с WinDBG и загружается по умолчанию.

! анализировать команду

Наиболее часто используемая команда: ! анализировать -v,[11] который анализирует текущее состояние отлаживаемой программы и состояние машины / процесса на момент сбоя или зависания. Эта команда часто может отлаживать текущую проблему полностью автоматически.

При использовании без переключателей ! анализировать просто возвращает результаты своего анализа. В -v и -vv дать более подробную информацию об этом анализе.

Wow6432exts.dll

Wow6432exts - это стандартное расширение отладчика Windows, которое поставляется с WinDBG и используется для отладки процессов, выполняемых внутри. WoW64 (32-битные процессы, запущенные в 64-битной Windows).[12]

SOS.dll

SOS (сын забастовки)[13] Расширение отладки (SOS.dll) помогает в отладке управляемых программ в Visual Studio и WinDbg, предоставляя информацию о внутренней среде общеязыковой среды выполнения (CLR). Этот инструмент требует, чтобы в проекте была включена неуправляемая отладка. SOS.dll автоматически устанавливается вместе с .NET Framework. Чтобы использовать SOS.dll в Visual Studio, установите Windows Driver Kit (WDK).[14] Для отладки процесса или дампа памяти версия sos.dll должна соответствовать версии .NET Framework. Psscor2 и Psscor4 - это надмножество SOS.

Psscor2.dll

Psscor2 - это расширение отладчика Windows, используемое для отладки приложений .NET Framework, использующих .NET CLR версии 2.0 (.NET Framework версий 2–3.5). Psscor2 был разработан для внутреннего использования в Microsoft как часть инструментов службы поддержки продуктов.[15] Хотя Microsoft выпустила Psscor2 только в 2010 году [16] Microsoft публиковала команды из расширения несколько лет назад,[17] создавая трудности для тех, кто пытался следовать их процессам.

Psscor4.dll

Psscor4 - это расширение Windows Debugger, используемое для отладки приложений .NET Framework 4.

Связь с виртуальными машинами

WinDbg позволяет отлаживать ядро ​​Microsoft Windows, работающее на виртуальная машина к VMware, VPC или же Параллели используя именованный канал. Этого можно добиться, используя виртуальный COM порт. В случае VMware и VirtualBox, расширение VirtualKD добавляет встроенную поддержку отладки виртуальных машин в ядро ​​Windows, утверждая, что ускоряет отладку до 45 раз.[18] За Windows 8 и позже разрешена отладка ядра по сети,[19] возможность быстрой отладки ядра без специальной настройки.

Протокол

Протокол WinDbg не документирован, но поддерживается IDA Pro и радар2 дизассемблеры.

Смотрите также

Рекомендации

  1. ^ Элиот Сиэтл. "Загрузить комплект драйверов Windows (WDK)". Msdn.microsoft.com. Получено 23 апреля 2018.
  2. ^ «Как мне использовать отладчик WinDBG для устранения синего экрана смерти?». TechRepublic. Получено 23 апреля 2018.
  3. ^ «Посмертная отладка приложений .NET с помощью WinDbg». Tewarid.github.io. 10 сентября 2010 г.. Получено 23 апреля 2018.
  4. ^ «Отладка с использованием символов (Windows)». Support.microsoft.com. Получено 23 апреля 2018.
  5. ^ ДОМАРС. «Сервер общедоступных символов Microsoft». Msdn.microsoft.com. Получено 23 апреля 2018.
  6. ^ «Новый WinDbg доступен в предварительной версии! - Инструменты отладки для Windows». blogs.msdn.microsoft.com. Получено 2019-08-13.
  7. ^ «Использование нового WinDbgX и Time-Travel-Trace –Script для вывода списка всех видов доступа к файлам - Блог Родни Вианы (MSFT)». blogs.msdn.microsoft.com. Получено 2019-08-13.
  8. ^ «Упрощение сценариев WinDbg с Javascript для исследования вредоносных программ - Avar 2018». Получено 2019-08-13.
  9. ^ ДОМАРС. ".load, .loadby (DLL расширения загрузки)". Msdn.microsoft.com. Получено 23 апреля 2018.
  10. ^ «Проблемы с журналом MSDN». Msdn.microsoft.com. Получено 23 апреля 2018.
  11. ^ ДОМАРС. "анализировать". Msdn.microsoft.com. Получено 23 апреля 2018.
  12. ^ «Отладка WOW64 (Windows)». Msdn.microsoft.com. Получено 23 апреля 2018.
  13. ^ «Отладка SOS среды CLR, часть 1». Blogs.msdn.com. Получено 23 апреля 2018.
  14. ^ майрав. "SOS.dll (расширение отладки SOS)". Msdn.microsoft.com. Получено 23 апреля 2018.
  15. ^ «Новое расширение отладчика для .NET (PSSCOR2)». Blogs.msdn.com. Получено 23 апреля 2018.
  16. ^ «Выпущено новое расширение отладчика для .NET, Psscor2». Blogs.msdn.com. Получено 23 апреля 2018.
  17. ^ «Проблемы с журналом MSDN». Msdn.microsoft.com. Получено 23 апреля 2018.
  18. ^ «VirtualKD - усилитель отладчика ядра Windows для виртуальных машин». Virtualkd.sysprogs.org. Получено 23 апреля 2018.
  19. ^ ДОМАРС. «Настройка отладки в режиме ядра по сетевому кабелю вручную». Msdn.microsoft.com. Получено 23 апреля 2018.

внешняя ссылка