イベント ログでハングを報告している .Net アプリケーションがあります。イベントには「アプリケーション ハング」と表示され、使用可能な詳細はありません。
そこで、ClrMD ライブラリを使用する C# コンソール アプリを作成しました。ただし、このアプリケーションは RemoteApp として公開されていることに注意してください。ClrMD をユーザーのプロセスにアタッチしようとすると、次のエラーが表示されます: Microsoft.Diagnostics.Runtime.ClrDiagnosticsException: プロセスにアタッチできませんでした。エラー 0。
管理者としてサーバーにログインしていて、別のユーザーとの独自の RDP セッションにいるため、これは驚くべきことではありません。
そのため、ClrMD アプリを実行すると、そのプロセスにアクセスできると考えて、ログインしているユーザーになりすますことにしました。これにより、別のエラーが発生しました: Microsoft.Diagnostics.Runtime.ClrDiagnosticsException: プロセスに接続できませんでした。エラー 1008。
ここからどこへ行くべきかを知るために 1008 が何を意味するのかについての手がかりが見つからないようです. 私はおそらく不可能なことをしようとしていることに気づきます。
- ClrMD を別のユーザーのプロセスにアタッチした人はいますか?
- そうでない場合、他のユーザーのプロセスにアタッチできるデバッグ ツールはありますか?
- そうでない場合、実稼働環境で ClrMD を使用した人がいますか? ClrMD ダンプをトリガーするタイミングを知るために、アプリがハングしていることをどのように知ることができますか? 別のバックグラウンド スレッドで UI スレッドを監視するだけですか?