2009-06-10 52 views
1

在vs2003(和vs2005(不確定))當我附加到一個進程,在實際附加之前,我可以看到哪個進程在w3wp下運行(我有一對的本地運行的網站),所以我知道我準備調試哪個.net應用程序。vs2008附加到進程,看不到哪個進程

然而,在vs2008窗口不再顯示了..現在我必須附加它,得出結論這是錯誤的過程,停止調試並將其附加到其他進程(如果我沒有忘記teh processid:P)

有沒有一種方法來「啓用」有趣的窗口看到.net應用程序運行在特定的w3wp進程?還是我錯過了明顯的東西?

回答

0

我不認爲這是Visual Studio中的一個功能。

你可能需要的是iisapp.vbs

0

底部附加到進程對話框,你應該看到兩個複選框:

  • 顯示進程從所有用戶
  • 顯示過程中的所有會話

如果您檢查這兩者中的任何一個你都希望能夠看到你之後的過程。

2

你可以找出PID - 應用程序池ID-組合方式:

  1. 登錄的遠程服務器上,並啓動命令提示符會話。
  2. 運行以下腳本:c:\windows\system32\iisapp.vbs。該腳本將列出當前正在運行的所有w3wp.exe進程,列出其PID和應用程序池標識。應用程序池ID是pid和您的應用程序之間唯一的關係。
  3. 使用apprioriate PID在Attach to Process屏幕上識別正確的w3wp.exe。

這將產生類似的清單:

W3WP.exe PID: 4784 AppPoolId: ReportServer 
W3WP.exe PID: 6564 AppPoolId: TrunkTest 
W3WP.exe PID: 220 AppPoolId: v650 
W3WP.exe PID: 6420 AppPoolId: v650Test 
W3WP.exe PID: 7220 AppPoolId: Trunk 

來源:Remote debugging with ASP.NET 2.0 - finding the process id (PID) of the worker process

0

您可以跳過查找進程ID,並通過進程列表中滾動找到它,並把連接到一鍵式交易。請參閱我對a related question的回答。