1. 程式人生 > >Visual Studio 效能分析工具 查詢 執行緒死迴圈

Visual Studio 效能分析工具 查詢 執行緒死迴圈

同事寫了一個MD5差分包校驗的工具,我在使用的時候發現關閉工具後,工具仍然在後臺執行。

因為之前有建議同事開啟子執行緒去做對比壓縮分包,所以估計應該是在子執行緒中有死迴圈。

但是我不知道去哪裡尋找這個問題。

想起來之前有用過Visual Studio的效能測試工具,說不定可以用來查詢死迴圈的問題。

1、在選單欄中 啟動效能分析

啟動後會自動執行程式

轉自http://blog.csdn.net/huutu http://www.thisisgame.com.cn

2、對程式正常操作,收集資訊

按照正常的使用,使用完畢後關閉程式,或者點選 停止分析

停止分析後,稍等片刻,Visual Studio正在分析資料。

3、檢視分析結果

稍等片刻後,Visual Studio就給了我分析結果,從執行單個工作最多的函式裡面可以看到 ,排第一的 IsFinish()  執行了超多的次數……

點選紅框中的 IsFinish(),跳轉到函式程式碼檢視。

通過函式呼叫圖,可以看到 在Pack() 這個函式中,不停地呼叫 IsFinish() 。

點選 Pack() ,跳轉到 Pack() 函式中

可以看到,這裡有一個 While 死迴圈……

而且程式碼這一行左側標註了時間佔用百分比,一目瞭然。

Visual Studio 太強大了,但是平時只是把他作為一個程式碼編輯器使用,以後要多多學習各種工具,才能更方便的服務我們程式設計師們。