InfoQ

新闻

EQATEC Profiler:一个面向.NET Compact Framework的应用程序代码分析器

作者 Abel Avram 译者 赵劼 发布于 2008年5月13日 上午12时19分

社区
.NET
主题
代码分析
标签
.NET精简框架

EQATEC为.NET Compact Framework应用程序发布了一个代码分析工具。最初EQATEC由于自己需要而开发了这个工具,不过他们打算将其发布给整个.NET Compact Framework开发人员社区。这不是一个内存使用分析器,而是一个应用程序瓶颈检测工具,用于发现代码中运行时间最长的地方。

以下是EQATEC发布的主要功能列表:

  • 用于优化应用程序速度/性能的代码分析工具,不是一个内存分析器
  • 消耗低,一般低于30%的额外运行时间和50%的代码体积增长
  • 支持所有的.NET 2.0/3.5 Compact Framework(.NET CF)应用程序
  • 提供命令行版本,能够集成入自动构建过程
  • 精确测量,并非抽样分析
  • 对方法调用进行分析,而非独立的语句
  • 完整的调用关系细节报表
  • 100%全功能免费使用

分析器的使用非常简单。应用程序像往常一样编译,分析器会在需要监测的程序集中插入二进制代码。这样在应用程序在设备上运行时,分析器就会收集数据进行分析。

据EQATEC称,分析工具的限制有:

  • 不支持用户定义范型。如果您定义了自己的范型类型,则程序集可能无法运行。目前分析器简单地跳过了所有的包含范型类型的程序集。这是个令人恼火的解决方法,修补的优先级最高。
  • 方法的递归调用在报表显示为调用的总合,显示程序在这方面需要更聪明一些。
  • 对于阻塞方法(例如Read())将会显示总共时间,包括线程正在等待调度以及方法返回的时间。
  • 目前不支持强命名程序集,它们必须在分析之后重新进行签名。目前还不存在这个功能。
  • 被分析的程序集没有调试信息,这意味着您无法调试被分析的版本,尽管您一般不会去这么做。
  • 还没有与Visual Studio集成。我们将会创建一个插件,这样可以更轻松的分析解决方案中的程序集。

这里有一段关于该分析器的视频示例。这个分析器可以在这里下载到。

查看英文原文:EQATEC Profiler: An Application Code Profiler for the .NET Compact Framework

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。