20

どこかにメモリリークがあるWebアプリケーションがあり、それを検出できません。通常はうまく機能するChromeデベロッパーツールをすでに試しましたが、原因となるコード行を追跡できません。Chromeツールは情報が多すぎて、メモリ内のオブジェクトをコードに関連付けることができません。

他に役立つツールはありますか?

4

3 に答える 3

27

更新: Record Heap Allocationsプロファイル タイプ を使用できます。

  1. devtools プロファイラーを開く
  2. ウォーミングアップをする
  3. プロファイラーを開始
  4. アクションを数回繰り返す
  5. アクションにリークがある場合、概要ペインに同じ数の青いバーのグループが表示されます
  6. プロファイラーを停止します
  7. 概要でこれらの青いバーの 1 つのグループを選択します
  8. オブジェクトのリストを調べる

スクリーンキャストJavascript メモリ リーク検出 (Chrome DevTools)を参照してください。

以前: 次のシナリオを使用して、メモリ リークを解決できます。

  1. devtools プロファイラーを開く
  2. 漏れる行為をする
  3. ヒープのスナップショットを撮る
  4. 手順 2 と 3 を 3 回繰り返す
  5. 最新のヒープ スナップショットを選択する
  6. フィルター「すべてのオブジェクト」を「スナップショット 1 と 2 の間のオブジェクト」に変更します。

その後、リークされたオブジェクトのセットであるオブジェクトが表示されます。オブジェクトを選択し、オブジェクトの保持ツリーで保持者のリストを見ることができます

于 2012-08-21T18:52:22.690 に答える
2

Heap ProfilerのDetached DOM ツリービューで要素の innerHTML 値と outerHTML 値を使用して、メモリ内のオブジェクトをコードにマップし、メモリ リークを追跡します。

于 2012-08-17T17:28:10.487 に答える