問題
状況によっては、APMのUIで、.NETアプリのスタックトレースが含まれていない、 エラートレース が表示されることがあります。
解決策
状況に応じて、以下のトラブルシューティングの手順に従ってください。
原因
500
エラーを返すということは、アプリケーションサーバ自身がエラーを検出し、HTTPS 500
ステータスコードを設定したことを意味します。
- エラー状態がアプリケーション・ロジックで検出され処理された場合、例外オブジェクトは存在せず、したがってスタックもありません。
- ある時点で例外オブジェクトがあったが、応答に
500
のステータスを設定したアプリケーションコードによって内部的に処理された場合、その例外は .NET エージェントからは見えません。.NET エージェントが報告するために利用できるスタックはありません。
スタックトレースが報告される場合、エラーは、アプリケーションサーバーロジック内で捕捉および処理されなかった例外に起因しています。.NETエージェントは、監視されたトランザクション中に処理されない例外を見たので、スタックトレースを報告します。
しかし、 500
のエラーについては、アプリケーションサーバがエラーを処理してからステータスコードを設定しているため、スタックトレースは表示されません。アプリケーションコード自体はスタックトレースを保持しません。