VSTO 应用程序的代码分析

发布于 2024-08-27 13:03:37 字数 280 浏览 12 评论 0原文

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

我已经尝试过 Eqatec Profiler,但它似乎无法从探查器启动应用程序(“运行应用程序”按钮呈灰色,我收集的原因是 VSTO 应用程序被编译到与 Excel 一起在进程中运行的 dll 中) 。EXE文件)。

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

I'm looking for a free code profiler (performance profiler, not a memory profiler) which works for VSTO applications (specifically Excel in my case, but I gather that if it works for one, it should work for all).

I have tried Eqatec Profiler, but it can't seem to launch the application from the profiler (The Run app button is greyed out, which I'm gathering is because the VSTO application is compiled into a dll which runs in-process with Excel.exe).

If anyone has successfully used Eqatec or another free code profiler to profile a VSTO application, I'd be interested to hear how you did it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

花辞树 2024-09-03 13:03:37

您正在做的事情应该可以通过 EQATEC Profiler 实现。

当您只是检测一个或多个 DLL 时,就没有明显的“要运行的应用程序”:您只是拥有一些检测过的 DLL,但探查器不知道您打算以何种方式使用它们。

但是,检测的程序集(以及运行时模块 EQATEC.Profiler.RuntimeFullNet.dll)始终完全“独立”,这意味着一旦使用其中的方法,它们就会自行执行计时。因此,您只需让 VSTO 应用程序像往常一样加载 DLL,瞧,DLL 本身将开始积累计时信息并开始侦听来自探查器的连接,然后您可以使用该连接来拍摄快照等。

总结一下:

  1. 构建 DLL并保持探查器运行
  2. 让您的 VSTO 应用程序加载 DLL(无论您如何执行)
  3. 探查器和检测的 DLL 现在应该已连接(请参阅“运行”选项卡)
  4. 从探查器中您现在可以拍摄快照,

我希望这会有所帮助。如果没有,请告诉我。

What you're doing should be possible with EQATEC Profiler.

When you're simply instrumenting one or more DLLs then there is no distinct "application to run": you simply have some instrumented DLLs, but the profiler doesn't know in what way you intend to use them.

However, the instrumented assemblies are (along with the runtime-module, EQATEC.Profiler.RuntimeFullNet.dll) always completely "self-contained", meaning that they perform the timing themselves as soon as the methods within them are used. So you simply need to have your VSTO app load the DLL as usual and voila, the DLL will itself start accumulating timing information and start listening for a connection from the profiler with which you can then take snapshots etc.

So to summarize:

  1. Build you DLL and keep the profiler running
  2. Have your VSTO app load the DLL (however you do that)
  3. The profiler and instrumented DLL should now be connected (see the Run-tab)
  4. From within the profiler you can now take snapshots

I hope this helps. If not then let me know.

慵挽 2024-09-03 13:03:37

您是否尝试过 Microsoft 的CLR Profiler

我已经多次使用它并取得了巨大的成功。

Have you tried Microsoft's CLR Profiler?

I have used it with great success many times.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文