次の方法で共有


プロファイル API でのガベージ コレクションのブロッキング

更新 : 2007 年 11 月

共通言語ランタイム (CLR: Common Language Runtime) が ICorProfilerCallback インターフェイスの特定のメソッドを呼び出すとき、CLR はプロファイラがその呼び出しから制御を戻すまでガベージ コレクションを実行できません。これは、プロファイル サービスが、ガベージ コレクションに対して安全な状態でスタックを構築できるとは限らないためです。代わりに、そのコールバックの間はガベージ コレクションが無効になります。この場合、プロファイラはできるだけ早く制御を戻す必要があります。この状況は、次のコールバックで発生します。

また、次のコールバックでは、fIsSafeToBlock パラメータを使用することにより、呼び出しごとにプロファイラでガベージ コレクションをブロックできます。

プロファイラがブロックを実行する場合、ガベージ コレクションは遅延することになります。この遅延は、プロファイラがガベージ コレクションをトリガする CLR 関数を呼び出さない限り、または領域をマネージ ヒープに割り当てている限り、問題にはなりません。

参照

概念

プロファイル API でのガベージ コレクション

その他の技術情報

プロファイル API の共通機能

プロファイリングの概要