VS2012新增JS內存分析器可識別Windows Store應用中的內存泄露

jopen 11年前發布 | 8K 次閱讀 VS2012

        英文原文:JavaScript Memory Analyzer in Visual Studio 2012 Identifies Leaks in Windows Store Apps

        Visual Studio 2012 Update 1中帶有一個針對 Windows 8 的 JavaScript 內存分析工具,該工具能夠幫助開發者了解基于 JavaScript 的 Windows Store 應用的內存使用情況。該工具適用于 Windows 8 上的 Visual Studio 2012 的 Express、Professional、Premium 和 Ultimate 版本。

VS2012新增JS內存分析器可識別Windows Store應用中的內存泄露

        該 JavaScript 內存工具中的運行啟動項目(Launch startup project)選項支持開發者在當前的 Visual Studio 實例中分析啟動項目。運行安裝的應用包(Launch installed App Package)選項將運行 Windows Store 應用以便 Visual Studio 2012 啟動診斷會話。最后一個選項是連接到運行中的應用(Attach to running app),該選項允許開發者連接到正在運行的應用使 Visual Studio 啟動診斷會話。

VS2012新增JS內存分析器可識別Windows Store應用中的內存泄露

        開發者運行 JavaScript 內存工具之后會在該工具中展現一幅進程內存圖,開發者能夠通過該圖觀測應用隨時間推移所消耗的內存數量。通過這幅進程內存圖開發者能夠了解應用的內存使用趨勢,從而做出判斷在合適的時間獲取一份堆快照。

        為了觀察 JavaScript 的內存情況,開發者需要使用獲取快照(Take a Snapshot)選項以生成一份概要磁貼——除了應用的屏幕截圖之外,該概要還能夠表明獲取快照時的 JavaScript 堆大小,以及分配的對象數量。

        開發者能夠按照規律的時間間隔持續捕捉快照,并能夠將生成的額外磁貼用于未來的比較。此外,通過位于詳細視圖右上角的下拉菜單還能夠在詳表顯示內置插件和對象的 ID。

VS2012新增JS內存分析器可識別Windows Store應用中的內存泄露

        此外,開發者還可以使用 console.takeHeapSnapshot 和 console.profileMark 以編程的方式捕捉快照,前者將獲取快照并在工具中展現;而后者可以在診斷會話運行時,在內存圖上顯示簡要標記并支持在圖上標注定制的標記。

        有時,開發者在使用命令前需要檢查其存在性,因為某些命令僅在內存分析器的上下文中可用:

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

        快照集合默認存儲在硬盤上的診斷會話文件夾,該文件夾中還包括 .diagsession 文件。快照可以被重命名或在團隊間分享,并能夠在兼容 Visual Studio 2012的版本中重新打開。最后,開發者可以在打開文件的時候檢查快照磁貼和詳細視圖。

        圖片來源——MSDNDr. Dobbs

來自: InfoQ
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!