我以前沒有使用過Windows DebugDiag的經驗,並且需要對此報告有所瞭解。.NET如何使用While循環保持線程運行
我的EWS託管API應用程序在發生事件時跨越一個新任務。
我的應用在〜30-35%的CPU使用率上運行,所以我決定運行這個診斷工具來找出wheres和whys。
我得到了這個,需要確保我看到的是正確的,我認爲它是正確的。
從下面的圖片可以看出,Task.StartNew
函數執行了5次,導致了這麼高的CPU使用率?
更新
尋找更深層次後,我發現這似乎是「堆棧跟蹤」一些函數調用以紅色突出顯示,我有一種感覺紅色表示這些功能會導致高CPU,而這些功能的出現來自EWS託管API代碼。
調用堆棧的頂部是一個Exchange任務,同步數據。因此可以預期高CPU使用率,並在數據同步完成時結束。如果您知道如何使用ILSpy等工具,則可以反編譯相關方法以獲得更多見解。 –