使用進程總管針對問題進行疑難解答

本文可協助疑難解答使用進程總管的問題。

進程總管工具是 Sysinternals 工具套件的一部分。 它會顯示目前在計算機上執行的所有進程,以及叫用它們的詳細數據,以及它們(包括其堆疊和線程)耗用的系統資源總數。

如果您要驗證作業系統相關程式(例如 System),請遵循下列步驟:

  1. 以系統管理員身分執行進程總管。
  2. 以滑鼠右鍵按兩下進程,選取 [屬性],然後選取 [ 線程] 索引卷 標。
  3. 選取您想要驗證的線程,然後選取 [堆棧 ] 以檢視正在執行的函式。

若要取得更好的堆疊信息結果,請遵循下列步驟,在 [進程總管] 中設定符號:

  1. 安裝 適用於 Windows 的偵錯工具。
  2. 以系統管理員身分執行進程總管。
  3. 選取 [ 選項] 功能表,然後選取 [ 設定符號]。
  4. Dbghelp.dll路徑 變更為 C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll
  5. [符號] 路徑變更為 srv*c:\symbols*https://msdl.microsoft.com/download/symbols,然後選取 [確定]。

以下是是否解析符號的範例。 如果未解析符號, 線程 9384 的 [開始位址 ] 會顯示 SearchUI.exe+0x120cd0,其中 0x120cd0 (以十六進位為單位) 是加號之後函式的位移。

此螢幕快照顯示未解析線程 9384 的起始位址。

如果符號已解析,您會看到實際的函式名稱,如下所示。 例如, SearchUI.exe!WinMainCRTStartup

顯示已解決線程 9384 開始地址的螢幕快照。

您可以在 [行程總管] 中檢視詳細資訊,方法是以滑鼠右鍵按兩下數據行,然後選取 [選取 數據行]。 然後,您可以選取 [進程總管] 中顯示的數據行,然後選取 [ 確定]。

疑難解答範例

當您使用 CpuStres 透過執行數個線程來模擬 CPU 活動時,您可以看到 進程總管中的CPUSTRES.EXE 進程會耗用最高的 CPU。 例如:

顯示進程總管中CPUSTRES.EXE進程耗用最高 CPU 的螢幕快照。

按兩下 CPUSTRES.EXE (或以滑鼠右鍵按兩下 CPUSTRES.EXE ,然後選取 [屬性],然後移至 [線程] 索引標籤。

顯示線程 15080 耗用CPUSTRES.EXE屬性中最高 CPU 的螢幕快照。

您可以看到許多線程正在取用CPU,其中TID 15080耗用最多。 還有更多詳細數據。 當您選取最耗用的線程時,您會取得呼叫堆棧資訊:

顯示線程 15080 呼叫堆疊信息的螢幕快照。

呼叫堆疊資訊不會自動更新。 若要取得最新的堆疊資訊,請選取 [ 重新整理]。 不過,此重新整理的間隔下限為一秒。 若要查看每秒線程中發生的情況,您可以使用 Windows Performance Recorder (WPR) 或 Windows 效能分析器 (WPA)。

參考資料

重組工具:#2 - 處理序總管