如何将AI能力与大数据技术结合,助力数据分析治理等工作的效率大幅提升,优化大数据引擎的性能及成本? 了解详情
写点什么

Visual Studio 2012 新增 JavaScript 内存分析器可识别 Windows Store 应用中的内存泄露

  • 2013-05-13
  • 本文字数:1040 字

    阅读完需:约 3 分钟

Visual Studio 2012 Update 1 中带有一个针对 Windows 8 的 JavaScript 内存分析工具,该工具能够帮助开发者了解基于 JavaScript 的 Windows Store 应用的内存使用情况。该工具适用于 Windows 8 上的 Visual Studio 2012 的 Express、Professional、Premium 和 Ultimate 版本。

该 JavaScript 内存工具中的 _ 运行启动项目(Launch startup project)_ 选项支持开发者在当前的 Visual Studio 实例中分析启动项目。_ 运行安装的应用包(Launch installed App Package选项将运行 Windows Store 应用以便 Visual Studio 2012 启动诊断会话。最后一个选项是 _ 连接到运行中的应用(Attach to running app,该选项允许开发者连接到正在运行的应用使 Visual Studio 启动诊断会话。

开发者运行 JavaScript 内存工具之后会在该工具中展现一幅进程内存图,开发者能够通过该图观测应用随时间推移所消耗的内存数量。通过这幅进程内存图开发者能够了解应用的内存使用趋势,从而做出判断在合适的时间获取一份堆快照。

为了观察 JavaScript 的内存情况,开发者需要使用 _ 获取快照(Take a Snapshot)_ 选项以生成一份概要磁贴——除了应用的屏幕截图之外,该概要还能够表明获取快照时的 JavaScript 堆大小,以及分配的对象数量。

开发者能够按照规律的时间间隔持续捕捉快照,并能够将生成的额外磁贴用于未来的比较。此外,通过位于详细视图右上角的下拉菜单还能够在详表显示内置插件和对象的 ID。

此外,开发者还可以使用 console.takeHeapSnapshot 和 console.profileMark 以编程的方式捕捉快照,前者将获取快照并在工具中展现;而后者可以在诊断会话运行时,在内存图上显示简要标记并支持在图上标注定制的标记。

有时,开发者在使用命令前需要检查其存在性,因为某些命令仅在内存分析器的上下文中可用:

复制代码
if (console && console.takeHeapSnapshot)
{
console.takeHeapSnapshot();
}

快照集合默认存储在硬盘上的诊断会话文件夹,该文件夹中还包括.diagsession 文件。快照可以被重命名或在团队间分享,并能够在兼容 Visual Studio 2012 的版本中重新打开。最后,开发者可以在打开文件的时候检查快照磁贴和详细视图。

图片来源—— MSDN Dr. Dobbs

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


感谢孙镜涛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-05-13 11:01876
用户头像

发布了 256 篇内容, 共 59.5 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

基于STM32设计的校园一卡通项目

DS小龙哥

C语言 嵌入式 单片机

阿里云「低代码音视频工厂」正式上线,为企业用户打造音视频应用开发最短路径

阿里云视频云

音视频 低代码 开发

QCon-OPPO大规模CV预训模型技术及实践

OPPO数智技术

算法 计算机视觉 预训练模型

青藤:东西向流量占比80%,安全如何有效搞定?

青藤云安全

Java 中 Jackson 的 readTree

HoneyMoose

看了个女装项目(doge

你?

基于STM32设计的指针式电子钟与日历

DS小龙哥

C语言 嵌入式 单片机

MongoDB高级应用之数据转存与恢复(5)

Tom弹架构

Java 分布式数据库mongodb

CRM系统的六大优势

低代码小观

低代码 CRM 客户关系管理 CRM系统 客户关系管理系统

谁说操作系统没有创新,这里就有一个,还是分布式的

LAXCUS分布式操作系统

年度盘点丨2021数字化转型优秀案例TOP10

ToB行业头条

全新UI西游H5决战天宫游戏详细图文架设教程

echeverra

关于熟经济和通胀--《香帅中国财富报告》摘录(2/100)

hackstoic

经济

Mithril.js:一个高性能 JavaScript MVC 框架

devpoint

typescript mvc 1月月更 Mithril.js

云智慧运维管理平台OMP荣获OSC中国开源项目评选「最受欢迎项目」奖

云智慧AIOps社区

开源项目 运维工程师 运维监控 自动化运维 运维管理

如何修改Kestrel上传文件的大小

喵叔

1月月更

基于STM32设计的健康检测设备(测温心率计步)

DS小龙哥

C语言 嵌入式 单片机

基于STM32设计的数字电子秤

DS小龙哥

C语言 嵌入式 单片机

采购堡垒机时候,选择开源堡垒机还是云堡垒机?

行云管家

云计算 网络安全 等保 堡垒机

项目经理如何有效管理项目进度?项目管理3大常见问题及解决方案

优秀

项目管理 项目管理工具

基于STM32设计的计算器(实现基本运算)

DS小龙哥

C语言 嵌入式 单片机

2022年石家庄等保测评公司名单(排名部分先后)

行云管家

网络安全 等保 等保测评 石家庄

低代码实现探索(十二)vue.config.js模块打包

零道云-混合式低代码平台

Visual Studio 2012新增JavaScript内存分析器可识别Windows Store应用中的内存泄露_JavaScript_Anand Narayanaswamy_InfoQ精选文章