Установите WinDbg в качестве отладчика по умолчанию - PullRequest
11 голосов
/ 12 апреля 2011

Всякий раз, когда мое приложение выдает необработанное исключение, я бы хотел, чтобы WinDbg перехватил это исключение на моей машине отладки, а не Dr.Ватсон и т. Д. Как это можно настроить?

Ответы [ 2 ]

17 голосов
/ 12 апреля 2011

Запустите windbg -I, чтобы установить его по умолчанию после отладки.

Как указывает Курт ниже, WinDbg выпускается как в 32-, так и в 64-битной версиях. Выполнение windbg -I устанавливает посмертный отладчик для процессов, соответствующих разрядности отладчика.

Вы можете установить обе версии WinDbg одновременно, если вам нужны 32- и 64-разрядные версии.

Из файла справки:

-I[S] Устанавливает WinDbg в качестве посмертного отладчика. Подробнее см. Включение посмертной отладки. После это действие предпринято, успех или сообщение об ошибке отображается. Если S включена, эта процедура сделана тихо, если это успешно; только сообщения об ошибках отображаются. Я параметр не должен использоваться с любым другие параметры. Эта команда будет на самом деле не запускать WinDbg, хотя Окно WinDbg может появиться на мгновение.

5 голосов
/ 12 апреля 2011

Вот файл реестра для установки WinDbg в качестве управляемого отладчика и собственного отладчика:

Windows Registry Editor Version 5.00

;This reg file installs just-in-time debuggers to capture a dump of all process
;crashes for the machine.
;
;Assumes 32-bit debugger is cdb.exe and is installed to C:\debuggers\x86\.
;Assumes 64-bit debugger is cdb.exe and is installed to C:\debuggers\x64\.
;
;Assumes crash dumps can be written to C:\crash_dumps\.
;Make sure all users have write access to this directory.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
"DbgManagedDebugger"="\"c:\\debuggers\\x64\\windbg.exe\" -pv -p %ld "
"DbgJITDebugLaunchSetting"=dword:00000002


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
"Debugger"="\"c:\\debuggers\\x64\\windbg.exe\" -pv -p %ld "
"Auto"="1"


;The following keys are only used on 64-bit versions of Windows (note Wow6432Node).
;They can be safely created with no side-effects on 32-bit versions of Windows.
;Alternatively, you can delete the remainder of this file if you’re running a
;32-bit version of Windows.


[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug]
"Debugger"="\"c:\\debuggers\\x86\\windbg.exe\" -pv -p %ld "
"Auto"="1"

Автоматическое получение дампа при сбое процесса являетсянаписать об этом из команды CLR.

...