BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Visual Studio 2012のJavaScriptメモリー解析ツールは、 Windows Storeアプリのリークを特定できる

Visual Studio 2012のJavaScriptメモリー解析ツールは、 Windows Storeアプリのリークを特定できる

ブックマーク

原文(投稿日:2013/04/19)へのリンク

 

Visual Studio 2012 Update 1にはWindows 8用のJavaScriptメモリー解析ツールが含まれており、これによって開発者は、JavaScriptベースのWindows Storeアプリがどれだけメモリーを消費しているか、確認できる。このツールは、Windows 8上の Visual Studio 2012 Express, Professional, Premium、Ultimateで利用できる。

JavaScriptメモリー解析ツールのスタートアッププロジェクトの起動によって、開発者は、現在のVisual Studioインスタンスのスタートアッププロジェクトを解析できる。インストールされたアプリの起動パッケージオプションは、Windows Storeアプリを起動して、Visual Studio 2012に診断セッションを開始させる最後のオプションの実行中のアプリにアタッチは、ユーザーに既に実行中のアプリのアタッチすることを促し、Visual Studioが診断セッションを開始できるようにする。

JavaScriptメモリツールを起動すると、プロセスメモリグラフが表示されるので、時間とともにアプリによって消費されるメモリー量を見ることができる。このグラフがアプリのメモリートレンドを示すので、いつヒープのスナップショットを取るのがいいか判断するのに役立つ。

JavaScriptのメモリを検査するためには、Take a Snapshot オプションを使わなければならない。スナップショットを取った時のJavaScriptのヒープサイズを示す要約タイルを生成する。一緒にアプリのスクリーンショットに加えてアロケートされたオブジェクト数も表示される。

定期的にスナップショットを撮り続けるけることができ、どんどん生成されたタイルを後の比較に利用することができる。ビルトインとオブジェクトIDは、詳細ビューの右上角にあるドロップダウンを使用して、詳細情報テーブルに表示することができる。

スナップショットをプログラムで撮ることもできる。それには、console.takeHeapSnapshotを使って、ツール上に現れるスナップショットを撮り、console.profileMarkを使って、メモリーグラフ中にプロファイルマークを表示する。この間、診断セッションが走っており、グラフにカスタムなマークを付ける機能も持っている。

時々使う前に、コマンドが存在するかチェックする必要がある。なぜなら、それらは、メモリーツールのコンテキスト内のみで利用できるからだ。

if (console && console.takeHeapSnapshot)
{
console.takeHeapSnapshot();
}

デフォルトでは、収集されたスナップショットは、ディスクの診断セッションフォルダー中の.diagsession ファイルとして保存される。そのファイルの名前を変えて、チーム間で共有できる。またVisual Studio 2012の互換バージョンで再オープンできる。スナップショットタイルと詳細ビューは、ファイルをオープンすれば、検査することができる。

イメージソース - MSDNDr. Dobbs

 

この記事に星をつける

おすすめ度
スタイル

BT