Отладка приложений с помощью Dr.Watson

Tuesday, 08 Dec 2009

Иногда возникает необходимость узнать, что же происходит в мозгах у системы, при том, что в системные логи операционка не пишет никакой информации. Для этого нужно воспользоваться встроенным в систему дебаггером Dr.Watson. Его расположение по умолчанию %SystemRoot%\system32\drwtsn32.exe
1. Для начала нужно зарегистрировать Dr Watson как дебаггер по умолчанию, для этого говорим
Пуск -> Выполнить (или “майкрософтовское окошко” + R) и запустить drwtsn32 -i
2. Теперь настроим Dr Watson
Пуск -> Выполнить и drwtsn32
3.  Изменяем в соответствии
Файл журнала = путь по которому будет находится лог файл (Drwtsn32.log)
Аварийная копия памяти  = путь по которому ляжет дамп памяти (user.dmp)
Тип аварийного дампа = Полный
Параметры  = включить все радиокнопки (можно не включать Визуальное и Звуковое оповещения)
4. Когда какое либо приложение, которое и нужно отследить, вылетит в очередной раз дамп памяти создатся в том файле который мы определили в 3 пункте, после чего мы его можем открыть и начать ковырять, на предмет поиска непонятностей.

Отключить Dr.Watson можно следующим образом:

  1. Вызвать редактор реестра: Пуск -> Выполнить, выполнить команду regedit
  2. Зайти в следующую ветвь реестра:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\
  3. Сделать резервную копию имеющейся ветки, чтобы была возможность откатиться:  щелкаем в раздел AeDebug, затем правой клавишей мышки вызываем меню, там пункт Экспортировать, выбираем куда и Сохранить.
  4. После этого удаляем из системного реестра раздел AeDebug.

В удаленном разделе системного реестра AeDebug находятся конфигурации параметров которые использует системный отладчик Windows Dr. Watson. Этот дебаггер назначается по дефолту и используется при сбоях в работе приложений (в том случае если параметр Auto установлен в значение 1). Дефолтные настройки для Dr. Watson:

Параметр = Auto
Тип = String (REG_SZ)
Значение = 1 или 0. (По умолчанию “1″)

Параметр = Debugger
Тип = String (REG_SZ)
Значение = drwtsn32 -p %ld -e %ld -g

VN:F [1.9.21_1169]
Rating: 4.1/10 (60 votes cast)
VN:F [1.9.21_1169]
Rating: -3 (from 3 votes)