キャッチされないCOMException

先日の同名エントリで菊池さんからアドバイスを頂いたので、実際に試してみた。

Visual Studio のメニューの[デバッグ]-[例外]で例外発生時に止めるって設定があります。
どっかがつかんで握りつぶしちゃってる例外のデバッグをするには結構有用です。

まずは、止めるための例外の指定をメニューから行う。
メニュー->[デバッグ]-[例外]を開くとダイアログが出るので、そこにスローされたら割り込みをかけたい例外の種類を追加する。(最初、Common Language Runtime Exceptionに追加したのだが、有効にならないのでスクリーンショットはManaged Debugging Assistantsに追加した結果だ)

この状態で件のプロジェクトを実行してみると、今まで無視されていた例外が発生した時点で見事にIDEが止まってくれ、今まで見ることが出来なかった例外の詳細も見ることができた。

まあ、肝心のErrorCode=-2147467259の原因自体は不明なわけだが随分と見通しは良くなった。菊池さんに感謝。