如何在 Windows 中追蹤/分析進程?

如何在 Windows 中追蹤/分析進程?

有時,在調查 SQL Server 問題時,我發現能夠將 Visual Studio 偵錯器附加到它並嘗試透過查看呼叫堆疊來找出它在做什麼(公共符號可用,並且通常可以推斷出有用的信息)很有用。來自方法名稱的資訊)。

可以推斷的內部資訊類型的一個很好的例子是在這篇文章中這激發了我的嘗試。

然而,這可能是一個相當耗時且乏味的過程。一般來說,我在循環中運行感興趣的程式碼,附加偵錯器,然後不斷中斷並繼續,直到我遇到一個對正在調查的問題看起來很有趣的呼叫堆疊。然後我可以單步執行程式碼並查看所呼叫的方法名稱。然而這需要很長時間。

有沒有什麼方法可以自動執行此操作,以便我可以簡單地記錄短時間內調用的所有方法,然後查看日誌檔案?

答案1

如果我沒記錯的話,您可能正在尋找進程監視器(又稱 procmon)。你可以從這個微軟網站

具體來說,「堆疊摘要」選單選項具有此類資訊。更多詳細資訊請參閱部分PM2-6:展開堆疊

在此輸入影像描述

答案2

分析器在較高版本的 Visual Studio 中可以用來執行此操作。

範例輸出

螢幕截圖

(和答案在這裡顯示了為什麼這很有用)

或者另外還有Windows 效能工具包是免費的,並且還可以做很多相同的事情甚至更多。有關這方面的一系列精彩視頻,請訪問https://channel9.msdn.com/Search?term=Defrag%20tools%20wpt#ch9Search

相關內容