【问题标题】:Programmatically Inserting Profiling Marks以编程方式插入轮廓标记
【发布时间】:2011-05-17 14:11:11
【问题描述】:

我正在使用 Visual Studio 2008 开发版的 Profiler。要执行“有针对性的分析”,我可以在附加到当前运行的测试代码的任何时候通过“标记”手动设置分析器过滤器。但我想改为以编程方式插入标记。我想在我的测试代码中添加一个调用、指令或指令,在执行时告诉分析器“这是一个名为‘BeginWork’的‘标记’”和“这是一个名为‘EndWork’的‘标记’”。

有没有办法做到这一点?如果没有,Visual Studio 2010 有这个能力吗?

【问题讨论】:

  • 我认为值得一提的是,我发现 VS2008 分析器在处理非托管代码方面非常糟糕。 YMMV。我们自己使用 AQTime,但我对它并不满意。

标签: .net visual-studio profiling profiler


【解决方案1】:

您可以使用 Profiler API 以编程方式插入标记。请参阅MSDN 上的 DataCollection.CommentMarkProfile 方法文档。

您只需从“Program Files[x86]\Microsoft Visual Studio 9.0\Team Tools\Performance Tools”添加对 Microsoft.VisualStudio.Profiler.dll 的引用即可使用托管 API。

您的测试代码可能类似于:

MarkOperationResult result;
result = DataCollection.CommentMarkProfile(markID1, "BeginWork");
// Validate result...

SomeOperation();

result = DataCollection.CommentMarkProfile(markID2, "EndWork");
// Validate result...

【讨论】:

  • 知道是否有 Silverlight 等价物?
猜你喜欢
  • 2014-08-01
  • 2021-03-24
  • 2019-11-23
  • 1970-01-01
  • 1970-01-01
  • 2010-09-27
  • 1970-01-01
  • 1970-01-01
  • 2015-03-12
相关资源
最近更新 更多