2009-11-03 70 views
2

我想盡可能多地列出當前在.NET1.0中運行的所有線程的信息。當我創建自己的內部列表時,我無法將線程添加到內部列表中;我只想轉儲出當前在系統中的列表。有沒有人知道這樣做的方法?我一直在看System.Threading ...命名空間,現在沒有任何東西是開放的,因爲我希望它會。是否有可能列出當前在.NET中運行的所有線程

+0

Process.Threads,但它只在1.1和前向版本中可用。 – 2009-11-03 11:35:02

回答

0

不知道約1.0,但1.1可以使用:

Process[] processlist = Process.GetProcesses(); 

如果一個進程的模塊集合包含mscoree.dll中/ mscorjit.dll,它是一個.NET線程。應用程序運行的.Net框架的版本也可以通過模塊提供的信息找到。

+0

從MSDN看來,它只能在.Net 2.0和以上版本中使用 – mcauthorn 2009-11-03 12:00:17

+0

從1.0開始支持,因爲此msdn文檔顯示:http://msdn.microsoft.com/en-us/library/1f3ys1f9.aspx我不喜歡沒有VS2003檢查它。 – Yogesh 2009-11-03 12:28:38

0

如果您能夠打入進程,.Net調試器將爲您提供所有當前正在執行的線程的列表。它也可以幫助你知道,如果你有一個線程運行通過你控制的代碼路徑,你可以訪問它的線程對象(System.Threading.Thread.CurrentThread)並給它一個名字,然後你可以打印出任何調試信息。 (假設。淨1.0有這個...)

我知道這是一個側面的答案,但它可能會有所幫助。

相關問題