我正在使用Visual Studio 2008开发版的Profiler。要执行“有针对性的分析”,我可以在附加到当前运行的测试代码的任何时候通过“标记”手动设置分析器过滤器。但我想以编程方式插入标记。我想在我的测试代码中添加一个调用,指令或指令,这些代码在执行时告诉探查器“这是一个'标记',称为'BeginWork'”和“这是一个'标记',称为'EndWork'”。
有办法吗?如果没有,Visual Studio 2010是否具备该功能?
答案 0 :(得分:10)
您可以使用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...
答案 1 :(得分:0)
另一种选择可能是使用PerformanceCounter - 创建自己的一个并以编程方式更新它。您可以使用Creating a PerfMon counter to record an average per call (C#)中的示例作为参考。