2010-04-07 49 views
4

我正在寻找一个免费的代码分析器(性能分析器,而不是内存分析器),它适用于VSTO应用程序(特别是Excel在我的情况,但我收集,如果它适用于一个,它应该为所有人工作)。VSTO应用程序代码分析

我试过Eqatec Profiler,但它似乎无法从探查器启动应用程序(运行应用程序按钮变灰,我正在收集的是因为VSTO应用程序被编译为一个dll,它运行在Excel.exe进程)。

如果有人已成功使用Eqatec或其他免费代码分析器来分析VSTO应用程序,我很乐意听到您是如何做到的。

回答

2

你在做什么应该可以用EQATEC Profiler

当你简单地检测一个或多个DLL时,没有独特的“应用程序运行”:你只是有一些仪表化的DLL,但分析器不知道你打算如何使用它们。

但是,插装程序集(连同运行时模块,EQATEC.Profiler.RuntimeFullNet.dll)始终完全“自包含”,这意味着只要使用它们中的方法,它们就自行执行计时。所以你只需要让你的VSTO应用像往常一样加载DLL,并且瞧,DLL本身就会开始累积时间信息,并开始监听探查器的连接,然后你可以拍摄快照等。

所以总结:

  1. 建立你的DLL,并保持运行
  2. 让你的VSTO应用程序加载DLL(但是你这样做)
  3. 探查和仪表DLL现在应该连接分析器(见润选项卡)
  4. 从专业人士你现在可以拍快照

我希望这有助于。如果没有,然后让我知道。

+0

抱歉这么长时间回应你的回答...我被转移到一些不相关的任务上,只是回到了这个问题上。 我已经尝试过使用您提供的说明,并且它完美地工作。 只是为了澄清其他人读这个,一个“快照”不是应用程序的当前状态(这是最初困惑我)的快照。相反,这是剖析器已经采用的测量快照。每个快照报告都包含从上次快照开始的所有方法调用的概要分析。 – Teevus 2010-06-30 08:09:08

0

您是否试过微软的CLR Profiler

我已经使用它很多次了很大的成功。

+0

感谢您的回复。我实际上是在性能分析器之后而不是内存分析器。我会相应地更新这个问题。 出于兴趣,如何使用CLR Profiler来存储配置文件VSTO应用程序,因为没有可运行的exe文件(它编译为从excel启动的dll)。 – Teevus 2010-06-30 07:28:11

+0

* CLR Profiler *有三个组件;一个读取日志文件的GUI可执行文件,一个称为ProfileObj的COM组件,该COM组件生成日志文件,以及CLR Profiler Control,允许您通过应用程序控制配置文件(通过PInvoke登录到ProfileObj)。请参阅CLRProfilerControl的演示文件夹。 – AMissico 2010-06-30 08:52:42