2010-12-08 19 views
15

我試圖找到類似Windows任務管理器的工具,它可以顯示在一個給定的進程中運行的所有線程,如他們的名字,編號等信息的工具..任何Windows工具來顯示運行線程的細節?

Windows任務管理器中只列出在給定進程中運行的線程數量。它不給出任何線程特定信息。

+0

打開窗口任務管理器選擇視圖 - >選擇列添加更多的細節,如PID(進程ID)等 – BigChief 2015-10-02 12:57:51

回答

17

嘗試使用Process explorer。它比任務管理器強大得多,並且適合您的需求。

+0

如果我有線程在asp.net網站..如何我可以看到線程使用進程瀏覽器前:OrderStatusFromThread .IsBackground = true; OrderStatusFromThread。Name =「OrderStatusFromThread」; OrderStatusFromThread.Start(); OrderStatusFromThread.Start(); – 2014-07-04 13:54:06

+0

您可以在列表中看到不同的進程。當你盤旋時,你會看到exe。參數也是如此。但對於線程,只需「雙擊進程並轉到線程選項卡」即可。多進程應用程序和多線程應用程序是不同的。我編寫了一個並行應用程序,在屏幕上輸出執行線程號,我可以在這個應用程序中看到我的線程。 – 2015-04-10 08:03:07

+0

@MohamadMahmoud對於Asp.NET,如果使用asp.net,則IIS使用`線程池'並在內部管理線程。您無需爲管理線程顯示額外的工作量。因此不建議使用Application對象,因爲它是共享的並且會導致很多鎖定。我們爲不同的用戶使用會話對象,這些用戶也使用鎖定,但不鎖定應用程序對象併爲特定的客戶端使用鎖定。這意味着Web應用程序具有更好的性能。 – 2015-04-10 08:09:18

2

線的詳細信息

由於darioo已經評論說,像的Process Explorer應用從微軟(以前:系統內部)可以提供有關應用程序的線程附加信息:

  • 的ThreadId
  • 核時間
  • 用戶時間
  • 起始地址
  • 現狀
  • 上下文切換

的Process Explorer可以下載從here免費

線程名

原來的問題還詢問確定一個線程的名字。

這是我的理解,Windows操作系統不支持具有名稱的線程的概念。此概念僅在Visual Studio開發環境中存在。

如果這是真的,那麼在運行時獲得線程名稱的另一個選項是將其與調試/日誌消息一起打印出來。至少,您可以使用這種方法來跟蹤線程生命週期。例如:

2015/06/02 14:22:17 CoreEngine Quality Assurance thread is initializing... ThreadId=123 
2015/06/02 14:22:17 CoreEngine Quality Assurance thread has initialized successfully. ThreadId=123 
... 
2015/06/02 16:68:17 CoreEngine Quality Assurance thread is terminating... ThreadId=123 
2015/06/02 16:68:18 CoreEngine Quality Assurance thread has terminated successfully. ThreadId=123 

其他參考#

6

您也可以嘗試processHacker是免費的,開源和mature.It有比ProcessExplorer更多的選項。

相關問題