EreTIk's Box » Заметки о WinDbg » Библиотека дополнений к WinDbg: KdEk_Ext.dll


Отладчик WinDbg поддерживает сторонние библиотеки расширений. Это обычные динамические библиотеки, которые можно писать на любом языке программирования. Их полезность сомнительна, учитывая возможность написания скриптов, но мне стало интересно, и я написал свою.


Изначально, идея зародилась после прочтения статьи в NT-Insider'е Making WinDbg Your Friend - Creating Debugger Extensions . Статья описывает базовые принципы и синтаксис написания, поэтому на них я заострять внимание не буду.


Установка расширения очень проста: копируем файл с библиотекой расширения kdek_ext.dll в поддиректорию winext директории, куда установлен WinDbg. После этого можно исполнять новые команды синтаксисом: !<имя библиотеки>.<имя команды>. В случае моей библиотеки, первой командой стоит выполнить !kdek_ext.help. Несложно догадаться, что на экран распечатается помощь со списком команд и кратким описанием.


Реализованные команды:

mjfunc печать кода IRP_MJ_XXX по численному значению
ipaddr печать 4-х байтового значения, как IPv4-адреса
status2err конвертирование NT-статуса в Win32-код ошибки
err2status вывод NT-статусов, соответствующих указанной Win32-ошибке
sect2fo получение указателя на файл по указателю на объект секцию
syncobj печать содержимого синхро-объекта
foattr печать файловых атрибутов, как текста (FILE_ATTRIBUTE_XXX)
ioobj печать содержимого объекта менеджера ввода/вывода
lpcmsg вывод содержимого LPC-сообщения
guid печать содержимого GUID'а
wmsg печать оконного сообщения по его коду

P.S.: Исходный код, если кто-то заинтересуется, могу открыть - пишите.


ΞρεΤΙκ