2011-04-26 42 views
1

我在這裏不知所措。我們的單元測試由VSInstr進行檢測,然後由PerfMon進行分析(代碼覆蓋率)。我們有一個廣泛的,我們用排除列表:VSInstr不兌現排除(VS2010)

/EXCLUDE:"boost::*" 
/EXCLUDE:"ATL::*" 
/EXCLUDE:"UnitTestNamespace::*" 
/EXCLUDE:"cppunit::*" 

...等...

當我們的單元測試運行,代碼覆蓋率文件給了我們所有的我們的代碼的列表,加上所有被排除的名稱空間和類。 VSInstr沒有生成錯誤。我們用/ PROFILE連接器標誌編譯我們的單元測試。

有沒有人遇到過這個問題?

編輯:我試過排除只有ATL ::,但它仍然包括它。所以我的理論認爲命令行太長了被證明是錯誤的。

+0

的計算器編輯解析出astrixes。他們坐在範圍操作符::之後。 – MarkP 2011-04-26 14:36:13

+1

如果將其格式化爲代碼,則顯示效果更佳。 – 2011-04-26 15:26:39

回答

3

在我們的,例如沒有引號,

%vsinstr% <someDLL> @CPPCoverageExcludes.txt 

其中CPPCoverageExcludes.txt看起來是這樣的:

/exclude:std::* 
/exclude:ATL::* 
... 
/exclude:_com_error::* 
/exclude:_com_issue_error::* 
/exclude:_com_issue_errorex::* 
/exclude:_com_raise_error::*