2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CLR20r3の追跡は素直に対象アプリをildasmで逆アセンブラすればいいわけじゃなかった

Posted at

この記事の趣旨

.NETFrameworkを使用したWindowsアプリケーションで発生した原因不明のエラー(CLR20r3)を追うのに、イベントビュアーの情報を頼りに、ildasmを活用して解決したよ、というお話

なのだけれども、コレが一筋縄では行かなかったので記録として残しておこう、というのが趣旨

参考記事

イベントビュアーのログとildasmの基本的な使い方は、とても素敵な記事があるのでそちらを参照して欲しい

CLR20r3と格闘 - なんとかする

.NETプログラム例外落ちイベント(CLR20r3)を読み取る - DD開発ROOM

ildasmの使い方とか、ログのどこを見れば良いかは大体この記事を参考にした

今回のお題

発生元
MyApp1

要約
動作が停止しました

日付
‎2019/‎01/01 00:00

状態
報告されていません

説明
障害が発生しているアプリケーションのパス:	C:\***\MyApp1.exe

問題の署名
問題イベント名:	CLR20r3
問題の署名 01:	MyApp1.exe
問題の署名 02:	1.0.0.0
問題の署名 03:	5c99dc4b
問題の署名 04:	mscorlib
問題の署名 05:	4.7.3260.0
問題の署名 06:	5bb7bcb6
問題の署名 07:	3d05
問題の署名 08:	8
問題の署名 09:	System.ObjectDisposedException
OS バージョン:	10.0.17134.2.0.0.256.161
ロケール ID:	1041
追加情報 1:	2f26
追加情報 2:	2f26b8a453c9e4c8bc3727ee4d01ee95
追加情報 3:	8359
追加情報 4:	835918b60be548152332a262dd9aeb1d

問題の説明に役立つファイル
WERInternalMetadata.xml

どこで引っかかったか?

MyApp1.exeの中を見て「問題の署名07」にある”3d05”がない!
と(心の中で)騒いでいたわけなのだ

結局
・mscorlib.dllをildasmで覗いて、問題が起きているメソッドを発見
・対象のクラスのコードが公開されていたのでだいたい原因を把握
・対象のクラスの使い方を見直して修正完了!
となった

まとめ

イベントビュアーの情報から、実際にildasmで逆アセンブルするのは「問題の署名04」に出ているexeなりdllを対象としなければいけない

上から順番に、情報を解決していく」ということが大切
当たり前といえば当たり前のことだが...

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?