2012年4月21日土曜日

~は動作を停止しました (CLR20r3編)

納品先などで、.NET Framework用プログラムが例外落ちした際の、例外情報の取得方法について考えてみたいと思います。

例外落ちの際、次のような画面が表示されると思います。



「問題の詳細」を一見しても、中身が判らないことが多いです:
---
説明:
  Stopped working

問題の署名:
  問題イベント名:                          CLR20r3
  問題の署名 01:                         fnf.exe
  問題の署名 02:                         1.0.0.0
  問題の署名 03:                         4f921d53
  問題の署名 04:                         System
  問題の署名 05:                         2.0.0.0
  問題の署名 06:                         4ea78da2
  問題の署名 07:                         3aae
  問題の署名 08:                         288
  問題の署名 09:                         System.ComponentModel.Win32
  OS バージョン:                          6.1.7601.2.1.0.272.33
  ロケール ID:                             1041

オンラインのプライバシーに関する声明をお読みください:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0411

オンラインのプライバシーに関する声明が利用できない場合は、プライバシーに関する声明をオフラインでお読みください:
  C:\Windows\system32\ja-JP\erofflps.txt
---

「System.Component.Win32Exceptionが発生したのか」程度は読み取ることができます。

イベントビューアで確認しても、似たような情報しか無いので、詳細に行き着きません。

そこで、プログラム終了する前に、デバッガをアタッチし、原因を追究します。

ここからは、デバッガごとに記事を分けたいと思います:

MDbg.exe

0 件のコメント:

コメントを投稿