.NET TIPS [アプリケーション・エラー]ダイアログを非表示にするには?デジタルアドバンテージ 遠藤 孝信2005/02/11 |
|
|
「Windows TIPS:Microsoftへのエラー報告ダイアログを無効にする」で紹介されているように、[エラー報告]ダイアログで次の画面のように設定すると、通常の環境ではアプリケーション・エラー発生時に何のダイアログも表示しないようにできる。
[エラー報告]ダイアログ |
コントロール・パネルの[システム]を実行し、[詳細設定]タブにある[エラー報告]ボタンをクリックすると表示できる。 |
しかし、Visual Studio .NET(以下、VS.NET)をインストールしている場合には、上記のような設定を行っていてもアプリケーション・エラー発生時には次のような[アプリケーション エラー]ダイアログが表示される。
[アプリケーション エラー]ダイアログ |
VS.NETをインストールしているとアプリケーション・エラー発生時にはこのようなダイアログが表示される。[OK]ボタンで何もせずにプログラムを終了、[キャンセル]ボタンではデバッガを起動する。 |
これはアプリケーション・エラーの発生を報告しつつ、VS.NETインストール時に設定されたデバッガ(デフォルトではVS.NET)を起動するかどうかをユーザーに問い合わせるためのものだ。
このような選択のためのダイアログが表示されるのは、VS.NETのインストールによりデバッガの自動起動がオフとなるためである。
レジストリによるデバッガの自動起動設定
アプリケーション・エラー発生時におけるデバッガの自動起動の設定は、レジストリの次のキーで設定されている。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
VS.NETをインストールした状態では、このキーの内容は次のようになっている。
レジストリにおけるAeDebugキーの内容 |
これはVS.NETをインストールしている場合。デバッガの自動起動はオフ、デバッガとしてvs7jit.exeが設定されている。VS.NETインストール前のDebuggerのデータはPreVisualStudio7Debuggerに保存されている。 |
「Auto」はデバッガの自動起動設定を示すもので、これが「0」の場合には自動起動はオフとなる。また、デバッグ時に起動するデバッガは「Debugger」により設定されている。VS.NETがインストールされた状態では、これには上記の画面のように「vs7jit.exe」というアプリケーションが設定されており、このアプリケーションはデバッガを選択するための次のような画面を表示する。
vs7jit.exeにより表示されるデバッガ選択画面 |
ちなみに、レジストリでのAeDebugキーで、「Auto」を「1」に設定すると、アプリケーション・エラー発生時には、[アプリケーション エラー]ダイアログが表示されずに、いきなりこの画面が表示されることになる。
デバッガの設定をVS.NETインストール前に戻すには
VS.NETがインストールされた状態でも、アプリケーション・エラー発生時に何も表示されないようにするには、上記のレジストリの設定をVS.NETをインストールする前の状態に戻せばよい。Windowsのインストール時にはAeDebugキーの設定内容は次のようになっている。
Windowsのインストール直後のAeDebugキーの内容 |
アプリケーション・エラー発生時にはdrwtsn32.exe(Windowsワトソン博士)が自動起動するようになっている。 |
これは、[アプリケーション エラー]ダイアログを表示せずに、デバッガとしてdrwtsn32.exe(Windowsワトソン博士)を自動起動するという設定である。drwtsn32.exeは起動されてもログ・ファイルを更新するだけで、画面には何も表示しない。
このようなレジストリの修正は、drwtsn32.exeの「-i」オプションにより行える。つまり、コマンド・プロンプトから次のように実行すればよい。
drwtsn32.exe -i
VS.NETをインストールした環境でこれを実行した場合には、AeDebugキーの内容は次のようになる。
「drwtsn32.exe -i」実行後のAeDebugキーの内容 |
AutoとDebuggerのデータが初期状態に戻る。 |
PreVisualStudio7Debuggerの値は削除されないが、これは残っていても特に問題ないと思われる。
カテゴリ:開発環境&ツール 処理対象:デバッガ |
|
「.NET TIPS」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|