ASP.NET Web アプリケーションで作業していますが、Visual Studio でデバッグしようとすると正しく動作しているようです。しかし、重い負荷をエミュレートすると、IIS がトレースなしでクラッシュします。システム ジャーナルのログ エントリは、「World Wide Web Publishing サービスが予期せず終了しました。これを 4 回実行しました。」という非常に一般的なものです。この問題をトラブルシューティングするために、IIS から詳細情報を取得するにはどうすればよいですか?
5 に答える
Windows用のデバッグツールをダウンロードします:http: //www.microsoft.com/whdc/DevTools/Debugging/default.mspx
Windows用のデバッグツールには、プロセスがクラッシュしたときにダンプを作成できるスクリプト(ADPLUS)があります: http ://support.microsoft.com/kb/286350
コマンドは次のようになります(IIS6を使用している場合)。
cscript adplus.vbs -crash -pn w3wp.exe
このコマンドは、デバッガーをワーカープロセスに接続します。クラッシュが発生すると、ダンプ(* .DMPファイル)が生成されます。
WinDBGで開くことができます(Windows用のデバッグツールにも含まれています)。ファイル>クラッシュダンプを開く...
デフォルトでは、WinDBGはプロセスがクラッシュしたスレッドを(コマンドラインの横に)表示します。
WinDBGで最初に行う必要があるのは、.NETFramework拡張機能をロードすることです。
.loadby sos mscorwks
次に、管理対象のコールスタックを表示します。
!clrstack
スレッドがマネージコードを実行していない場合は、ネイティブスタックを確認する必要があります。
kpn 200
これはあなたにいくつかのアイデアを与えるはずです。トラブルシューティングを続行するには、次の記事を読むことをお勧めします。
asp.net プロセスのクラッシュ ダンプは、大量の情報を提供するはずです.. プロセスがリサイクルされた理由に関する情報をすばやく取得したい場合は、Scott Gu からのこのヒントを試してください..asp.net 2.0 のヘルス監視機能も一見の価値がありますで..
これを試してみてください https://www.leansentry.com/ - サーバーの問題を自動的に診断する軽量のアプリケーション監視!
「跡形もなく」がポイントです。おしゃべりを作成するには、独自のトレース ログを設定する必要があります。そうすれば、おしゃべりが止まる場所を見つけることができます。