1

在 vs2003(和 vs2005(不确定))中,当我附加到一个进程时,在实际附加之前,我可以看到哪个进程在 w3wp 下运行(我有几个在本地运行的网站)所以我知道我是哪个确切的 .net 应用程序正要调试。

但是在vs2008中,窗口不再显示..现在我必须附加它,得出结论它是错误的进程,停止调试并将其附加到另一个进程(如果我没有忘记进程ID:P )

有没有办法“启用”那个有趣的窗口来查看 .net 应用程序在那个特定的 w3wp 进程中运行?还是我错过了一些明显的东西?

4

3 回答 3

2

您可以通过以下方式找到 PID - App Pool Id-combo:

  1. 登录远程服务器并启动命令提示符会话。
  2. 运行以下脚本:c:\windows\system32\iisapp.vbs. 该脚本将列出所有当前运行的 w3wp.exe 进程,列出它们的 PID 和应用程序池 ID。应用程序池 id 是 pid 和您的应用程序之间的唯一关系。
  3. 使用适当的 PID 在附加到进程屏幕上识别正确的 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

来自:使用 ASP.NET 2.0 进行远程调试 - 查找工作进程的进程 ID (PID)

于 2009-10-30T17:18:19.797 回答
0

在“附加到进程”对话框的底部,您应该看到两个复选框:

  • 显示所有用户的进程
  • 显示所有会话中的进程

如果您检查其中一个/两个,您应该希望能够看到您所追求的过程。

于 2009-09-03T08:15:28.567 回答
0

我不认为这是 Visual Studio 中的一个功能。

您可能需要的是iisapp.vbs

于 2009-06-10T11:53:31.143 回答