2010-11-29 42 views
9

我正在使用Visual Studio 2008開發版的分析器。要執行「有針對性的分析」,我可以隨時通過「標記」手動設置分析器篩選器,以便隨時連接到我當前運行的測試代碼。但我想以編程方式插入標記。我想給我的測試代碼添加一個調用,指令或指令,這些代碼在執行時告訴分析器「這是一個名爲」BeginWork「的」標記「,」這是一個名爲'EndWork'的'標記'「。以編程方式插入分析標記

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

+0

我認爲值得一提的是,我發現VS2008探查器在處理非託管代碼時非常可怕。因人而異。我們使用AQTime自己,但我並不完全滿意。 – 2010-11-30 00:25:27

回答

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... 
+0

任何想法,如果有一個Silverlight的等價物? – 2011-01-13 17:10:19