Как посмотреть содержимое реестра из-под отладчика

_Сижу дома простуженный. Ни о чём писать не хочется, поэтому буду краток. _

Команда !dreg в WinDbg позволяет просматривать содержимое реестра прямо в процессе отладки. Это особенно удобно в двух случаях:

  1. При удалённой отладке, когда сессия отладчика - это единственный вид доступа к удалённой машине. Такое встречается сплошь и рядом, например, если удалённая машина находится в другой сети или домене;

  2. В случае, когда отладчик пользовательского режима контролируется ядерным отладчиком. Это тоже, в общем-то, вариант удалённой отладки, только в этом случае до отлаживаемой машины достучаться кроме как через отладчик вообще никак нельзя.

К сожалению !dreg не работает в ядерном отладчике, вернее работает, но показывает реестр той машины где запущен kd.exe, а не целевой, так бы этого не хотелось. Иначе бы счастье было бы полным.

Итак, начнем:

0:000> .load ntsdexts

!dreg может показывать все подключи данного ключа:

0:000> !dreg hklm\software\microsoft\windows search
Subkey: Applications
Subkey: CatalogNames
Subkey: ContentIndexCommon
Subkey: CrawlScopeManager
Subkey: Databases
Subkey: DataDirectory
Subkey: Gather
Subkey: Gathering Manager
Subkey: Indexer
Subkey: InstallDirectory
Subkey: PerformanceCounters
Subkey: ProtocolHandlers
Subkey: SearchService
Subkey: UsnNotifier

Также можно показать все значения данного ключа:

0:000> !dreg hklm\software\microsoft\windows search\protocolhandlers!*
Value: "Mapi" - REG_SZ: "Search.Mapi2Handler.1"
------------------------------------------------------------------------
Value: "File" - REG_SZ: "Search.FileHandler.1"
------------------------------------------------------------------------
Value: "Csc" - REG_SZ: "Search.CscHandler.1"
------------------------------------------------------------------------
Value: "OneIndex" - REG_SZ: "Search.OneIndexHandler.1"
------------------------------------------------------------------------

А можно посмотреть конкретное значение конкретного ключа:

0:000> !dreg hklm\software\microsoft\windows search\protocolhandlers!Mapi
REG_SZ: "Search.Mapi2Handler.1"
comments powered by Disqus