C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 動作を停止しましたエラーでAPが落ちた時のエラー場所特定方法


(過去ログ 123 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■73501 / inTopicNo.1)  動作を停止しましたエラーでAPが落ちた時のエラー場所特定方法
  
□投稿者/ かねごん (1回)-(2014/10/02(Thu) 09:48:44)

分類:[.NET 全般] 

開発環境
OS : Windows 7 Professional Service Pack 1 32ビットオペレーティングシステム
使用言語 : 障害が発生しているアプリケーション名(HogeHoge.exe)はVB2010(ビルドは.Net Framework 2.0)、自作DLLはVC2010
HogeHoge.exe : Declare Function を使用して自作DLLを参照し、自作DLLを呼び出している

動作を停止しましたエラーの不具合が発生した実行環境
OS : Windows Server 2012 R2

実行環境にて、動作を停止しましたエラーが発生した時、イベントビュアーには、
障害が発生しているアプリケーション名: HogeHoge.exe、バージョン: 1.0.5381.20977、タイム スタンプ: 0x5423805b
障害が発生しているモジュール名: MSVCR80.dll、バージョン: 8.0.50727.8428、タイム スタンプ: 0x520b1060
例外コード: 0xc000000d
障害オフセット: 0x0003411a
障害が発生しているアプリケーション パス: C:\Test\HogeHoge.exe
障害が発生しているモジュール パス: C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.8428_none_d08a11e2442dc25d\MSVCR80.dll
レポート ID: 1aa3a334-47a4-11e4-80d2-288023cc50b9
が記述されています。
ちなみにこの動作を停止しましたエラーは、現象が数百回に1回の割合で発生するため、再現性はほとんどありません。

エラー場所特定方法には、障害オフセット(ここでは、0x0003411a です)の情報を利用する手段がありますが、
ビルド時に生成された .mapファイル や .codファイル が必要であり、
障害が発生しているアプリケーションがVB2010で作成されている上、
障害が発生しているモジュール名も MSVCR80.dll と VC2005のランタイムであるので、
.mapファイル作成も、VC2010で作成する自作DLL以外考えられませんでした。

ここでのエラー場所特定は、障害オフセットを利用する以外の方法があるでしょうか?

例外コード: 0xc000000d とは、STATUS_INVALID_PARAMETER
つまり、「無効なパラメータをサービスまたは関数に渡しました。」です。

引用返信 編集キー/
■73513 / inTopicNo.2)  Re[1]: 動作を停止しましたエラーでAPが落ちた時のエラー場所特定方法
□投稿者/ 甕星 (32回)-(2014/10/06(Mon) 06:54:22)
メモリダンプを取得していれば.Netアプリケーションでもデバッガを使って原因箇所を特定できるようです。
逆に言えばアプリケーションがクラッシュしたときのメモリダンプを取るような事を行っていないと、出来ることが非常に限られます。

参考 http://blogs.msdn.com/b/jpvsblog/archive/2011/03/08/net-id-1000-id-1023.aspx
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -