Dot-Net

以程式方式插入輪廓標記

  • February 18, 2011

我正在使用 Visual Studio 2008 Development Edition 的 Profiler。要執行“目標分析”,我可以在附加到目前執行的測試程式碼的任何時候通過“標記”手動設置分析器過濾器。但我想改為以程式方式插入標記。我想在我的測試程式碼中添加一個呼叫、指令或指令,在執行時告訴分析器“這是一個名為‘BeginWork’的‘標記’”和“這是一個名為‘EndWork’的‘標記’”。

有沒有辦法做到這一點?如果沒有,Visual Studio 2010 是否有這種能力?

您可以使用 Profiler API 以程式方式插入標記。請參閱MSDN上的 DataCollection.CommentMarkProfile 方法文件。

您只需要從“Program Files”中添加對 Microsoft.VisualStudio.Profiler.dll 的引用

$$ x86 $$\Microsoft Visual Studio 9.0\Team Tools\Performance Tools’ 以使用託管 API。 您的測試程式碼可能類似於:

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

SomeOperation();

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

引用自:https://stackoverflow.com/questions/4309228