自動デバッグの構成
ユーザーは、システムまたはアプリケーションが応答を停止した理由を判断できるように、自動デバッグを構成できます。
システム クラッシュの自動デバッグの構成
システムが応答を停止したときにクラッシュ ダンプ ファイルを生成するようにターゲット コンピューターを構成するには、コントロール パネルで システム アプリケーションを使用します。 [システムの詳細設定] をクリックすると、[システムのプロパティ] ダイアログ ボックスが表示されます。 そのボックスの [詳細設定] タブで、[スタートアップと回復] の[設定]をクリックし、適切な回復オプションを使用します。 または、次のレジストリ キーを使用してクラッシュ ダンプ オプションを構成することもできます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
指定できるファイルは、クラッシュ ダンプ ファイルです。 既定の名前は Memory.dmp です。 WinDbg や KD などのカーネル モード デバッガーを使用して、クラッシュ ダンプをデバッグできます。 詳細については、デバッガーに含まれているドキュメントを参照してください。
アプリケーション クラッシュの自動デバッグの構成
アプリケーションが応答を停止すると (アクセス違反の後など)、システムは、事後デバッグのためにレジストリで指定されたデバッガーを自動的に呼び出します。プロセス ID とイベント ハンドルは、コマンド ラインが正しく構成されている場合にデバッガーに渡されます。 次の手順では、レジストリでデバッガーを指定する方法について説明します。
デバッガーを事後分析デバッガーとして設定するには
次のレジストリ キーに移動する場合
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
デバッガーのコマンド ラインを指定するREG_SZ文字列を使用して、 デバッガー の値を追加または編集します。
文字列には、デバッガーの実行可能ファイルへの完全修飾パスを含める必要があります。 デバッガーのコマンド ラインに対して、"%ld" パラメーターを使用してプロセス ID とイベント ハンドルを指定します。 これらの値を示す独自のパラメーター構文は、デバッガーによって異なる場合があります。 デバッガーが呼び出されると、最初の "%ld" がプロセス ID に置き換えられ、2 番目の "%ld" がイベント ハンドルに置き換えられます。
次のテキストは、デバッガーとして WinDbg をセットアップする方法の例です。
"C:\debuggers\windbg.exe" -p %ld -e %ld -g
ユーザーの操作を行わずにデバッガーを呼び出す場合は、デバッガーを呼び出す前にシステムがダイアログ ボックスをユーザーに表示するかどうかを指定するREG_SZ文字列を使用して、 自動 値を追加または編集します。 文字列 "1" はダイアログ ボックスを無効にします。文字列 "0" を指定すると、ダイアログ ボックスが有効になります。
自動デバッグからのアプリケーションの除外
次の手順では、 AeDebug キーの 自動 値が 1 に設定された後に、アプリケーションを自動デバッグから除外する方法について説明します。
自動デバッグからアプリケーションを除外するには
次のレジストリ キーに移動する場合
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
AutoExclusionList サブキーにREG_DWORD値を追加します。ここで、名前は実行可能ファイルの名前、値は 1 です。 既定では、デスクトップ ウィンドウ マネージャー (Dwm.exe) は自動デバッグから除外されます。それ以外の場合は、Dwm.exeが応答を停止するとシステム デッドロックが発生する可能性があります (Dwm.exeが応答していないため、ユーザーはデバッガーによって表示されるインターフェイスを表示できず、Dwm.exeはデバッガーによって保持されているため終了できません)。
Windows Server 2003 および Windows XP: AutoExclusionList サブキーは使用できないため、Dwm.exeを含むアプリケーションを自動デバッグから除外することはできません。
既定の AeDebug レジストリ エントリは、次のように表すことができます。
HKEY_LOCAL_MACHINE
SOFTWARE
Microsoft
Windows NT
CurrentVersion
AeDebug
Auto = 1
AutoExclusionList
DWM.exe = 1
関連トピック