1

System.OutOfMemoryExceptionでしばらく実行した後にクラッシュする .NET ベースのアプリケーション (.NET 4) を開発しています。

タスク マネージャーでアプリのプロセスを調べたり、CLR プロファイラーや ANTS メモリ プロファイラーなどの他のツールを使用しようとしたりすると、アプリケーションが使用可能な RAM やその他の制限を使い果たしているようには見えません (Windows にはプロセスごとの制限と.NET自体はおそらく何らかの方法で制限されています)。

これは、墜落直前の ANTS プロファイラーのスクリーンショットです。

管理されていないメモリの合計量 (画像で明確に表示されていない場合は ~ 285 MB、すべてのヒープ内のオブジェクトの合計サイズは ~ 76 MB)

また、taskmgr で「ハンドル」数を確認したところ、クラッシュ時のアプリのプロセスのハンドル数は約 8120 でした。

プロファイラーの統計画像 何が起こっているのかをさらに調べるにはどうすればよいですか?このような例外を引き起こす可能性のある原因は何ですか?

4

1 に答える 1