2016-03-03 89 views
1

我一直在試圖驗證exe文件的代碼覆蓋率。爲了達到這個目的,我試圖測試exe文件(不是dll),然後開始/停止覆蓋。每個教程只描述dll的工具。是否有可能實現它的EXE?如果是的話,我需要給出什麼特別的選擇。我可以使用vsinstr來測試一個exe文件嗎?

下面是命令,我一直在努力爲EXE:

vsinstr -coverage Test.exe 

返回成功的消息,並創建EXE

vsperfcmd -start:coverage -output:Result.coverage 

vsperfcmd -shutdown 

的另一個副本,它成功地創建了輸出文件。但是,當在Visual Studio中打開的文件顯示錯誤消息: 「產生空結果:沒有安裝二進制文件,確保測試運行,加載了所需的二進制文件,具有匹配的符號文件,並且沒有通過自定義設置排除。

請幫

+0

有關二進制檢測的替代方法,請參閱http://softwarerecs.stackexchange.com/questions/19827/microsoft-c-code-coverage-software/19828#19828 –

回答

0

你的第一個命令啓動探查服務和你的第二個將其關閉(並使其寫入其輸出)。你缺少的是-attach命令。

vsperfcmd -attach:PID 

其中PID是你的進程的數字ID。

一旦你連接到一個進程,它將開始收集覆蓋率數據。做任何你需要的東西來鍛鍊你的代碼,然後運行shutdown命令來獲得你的輸出。

相關問題