2011-01-22 44 views
1

我有一個相對較小的程序,它運行在我從mentalis網站獲得的代理套接字類上。出於某種原因,該程序在運行時很快就會成爲100%的cpu資源。我已經盡我所能去想在代碼中發現問題了,在Visual Studio中有一個函數可以幫助確定代碼的哪些部分是資源密集度最高的部分?關於爲什麼一個套接字類將是這樣一個cpu豬的任何想法?Visual Studio Resources

回答

1

在調試模式下運行你的程序,當CPU負載達到100%時,用Ctrl-Alt-Break打破正在運行的進程。您很可能會在導致問題的代碼部分完全停止該程序。如果一箇中斷不足以找到正確的代碼行,請重複幾次。

只是猜測:也許套接字類做輪詢或忙等待?

+0

你是什麼意思輪詢? – 2011-01-22 21:15:38

2

Visual Studio 2010 Premium和Enterprise版本內置了一個分析器 - 我相信這個特性被稱爲「性能探索器」。如果不可用,只需執行一次調試構建,並通過定期停止代碼來查看哪些代碼最經常執行(編輯:如Doc Brown所述)來執行手動分析。

相關問題