質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

8982閲覧

VB.NETアプリケーションでWindowsのイベントビューアにイベント名CLR20r3が定期的に記録される

naitou

総合スコア141

Windows

Windowsは、マイクロソフト社が開発したオペレーティングシステムです。当初は、MS-DOSに変わるOSとして開発されました。 GUIを採用し、主にインテル系のCPUを搭載したコンピューターで動作します。Windows系OSのシェアは、90%を超えるといわれています。 パソコン用以外に、POSシステムやスマートフォンなどの携帯端末用、サーバ用のOSもあります。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2020/11/13 04:58

編集2020/11/13 05:47

VB.NETアプリケーションでWindowsのイベントビューアにイベント名CLR20r3が定期的に記録されるのはどのような場合なのでしょうか。

現象が出ている実行環境は下記の通りです。
OS WindowsServer2016
プロジェクト VisualBasic Windowsフォームアプリケーション
フレームワークのバージョン .NET Framework 4.8

ログは下記の様なものです。
<ログ開始>

障害バケット 、種類 0
イベント名: CLR20r3
応答: 使用不可
Cab ID: 0

問題の署名:
P1: aaa.exe
P2: missing
P3: 5f48c92e
P4: aaa
P5: 1.0.0.0
P6: 92e69fc6
P7: 2e
P8: 0
P9: System.NullReferenceException
P10:

<ログ終了>

P7: がメソッド番号
P8: がメソッド内の実行コードの行数
P9: が例外の内容
であり、
Ildasm.exe (IL 逆アセンブラー) で原因となるコードが特定できることは、
わかったのですが、そもそもこれがイベントビューアに記録されるのはどのような場合なのでしょうか。アプリクラッシュ時という情報は見つけたのですが、今回は定期的に記録だけされ続けています。

また例外は上記以外にも
System.IndexOutOfRangeException や
System.IO.FileNotFoundException が
記録されています。

しかし、そもそもそれらの例外はイベントビューアのログ時刻に発生しておらず、
アプリケーションは問題なく動作し続けています。
さらにIldasm.exe (IL 逆アセンブラー) で特定した原因となるコードも、
そのタイミングでは実行されるはずがないコードだったり不可解な部分が多いです。

また上記の例外を意図的に発生させるコードを動かしても、
イベントビューアのログに出力はされませんので、
このCLR20r3のログがそもそもどのような場合に記録されるのか不明です。

もし何かご存知の方がいましたら、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/11/13 05:08

CLR20r3でWeb検索はしてみました?
naitou

2020/11/13 05:13

調べましたが、アプリケーションは正常に動作し続けて、ログがイベントビュア―にだけ定期的に記録され続けるという現象に関する記述は見つけられませんでした。
退会済みユーザー

退会済みユーザー

2020/11/13 05:25 編集

コンストラクタやメンバ初期化時の例外に起因するものではないかと思われますが、OS、フレームワークのバージョン、プロジェクトの種類くらいは最低限記載してください。 > さらにIldasm.exe (IL 逆アセンブラー) で特定した原因となるコードも、 > そのタイミングでは実行されるはずがないコードだったり不可解な部分が多いです。 特定出来ているなら、例外の原因を潰すなり、例外をキャッチするなりして処理すれば良いかと思いますが…
naitou

2020/11/13 05:41

該当するコードは実行されていません。前後を挟んでアプリケーションでログ出力する様にしてもログが出力されていないので間違いないとか思います。 OS、フレームワークのバージョン、プロジェクトは追記します。
退会済みユーザー

退会済みユーザー

2020/11/13 06:08 編集

どのようにしてログを出力しているかは判りませんが、ログ出力そのものも失敗してるとか、そもそも原因のコードというのが見当違いの場所だったという事はないですか? try-catchで例外を握り潰した場合でもイベントビューアーにログが出力されますか? 該当のコードというのを提示することは可能ですか? 情報が小出しだと、こちらも具体的なアドバイスは出来ません。
naitou

2020/11/13 06:11

原因のコードというのが見当違いという可能性はあるかもしれません。P7: P8: の意味合いについても、WEB検索で見つけた内容でソースは不確かです。 そもそもtry-catchしていない部分で発生している場所もあり、実際に発生すると実行時エラーでアプリケーションが停止するはずですが、停止していない為、それも発生していない理由と考えています。 すみません。現状、コードの提示は難しいです。最小コードで再現性が確認できたら、最小コードを提示させて頂きます。 現状の情報でCLR20r3に関して、何か知ってる方がいれば回答頂ければと思います。
Bego

2020/11/13 06:19

デバッガをアタッチさせた状態でアプリを走らせると、システムがエラーを検出したタイミングで、デバッガにブレークインしてくれます。 なので該当プロセス (今回の場合は VB.NETアプリケーション) に WinDbg 等のデバッガをアタッチさせ、該当ログが記録される直前にデバッガにブレークインするかを確認してみては? ブレークインしたタイミングでのコールスタックを確認すれば、エラー原因のヒントが得られると思います。
naitou

2020/11/13 06:24

デバッガの件、環境を用意し試してみます。アドバイスありがとうございます。
Bego

2020/11/13 06:46

対象 PC が Windows 8.1 以降なら、Microsoft Store から WinDbg Preview をインストールするだけで、すぐに使えます。
naitou

2020/11/16 01:35

VisualStudio2019でデバッガをアタッチさせてみましたが、System.NullReferenceExceptionなどの例外でブレークインは発生しませんでした。Windowsのイベントビューアにだけ、不正に記録され続ける現象の様です。
guest

回答1

0

自己解決

Windowsの何らかの不具合により、Windowsエラー報告(WER)ファイル(C:\ProgramData\Microsoft\Windows\WERフォルダ以下)の内容が繰り返し、
PCの現在日時でイベントビューアに記録されている現象の様でした。

繰り返しイベントビューアに記録されていた
System.NullReferenceException、
System.IndexOutOfRangeException、
System.IO.FileNotFoundException
の例外は以前実行してたバージョンのアプリケーションで何度か発生しており、
それがWindowsエラー報告(WER)ファイルとして残っていることが原因だった様です。

Windowsエラー報告(WER)ファイルを全て消去したところ、今回の問題となっていたログは出力されなくなりました。

投稿2020/11/17 00:03

naitou

総合スコア141

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問