VS 2015远程调试(msvsmon.exe)如何知道哪个w3wp进程附加到哪个iis服务

VS 2015 Remote debugging (msvsmon.exe) how to know which w3wp process attaches to which iis service

我正在尝试使用 Remote debugger (msvsmon.exe)

远程调试 Web 应用程序

我连接正常,可以看到进程问题是服务器是 运行 多个应用程序,我不确定将调试器附加到哪个应用程序。我正在尝试调试的一个未在 IIS APPPOOL\... 中列出(应该是?),我已将其隐藏在屏幕截图中。

如何判断要附加到哪个进程?

1. 如果你有到服务器机器的 RDC(远程桌面连接),那么在 IIS 管理器(Internet 信息服务管理器)中你可以看到哪些是 Network Services 哪些是 Local Services.

我很幸运得到一个 Local Services,我在那台服务器上只有一个 运行ning...

2. 用户友好的方式

在服务器上转到 IIS Manager -> Worker Procesess -> 然后您可以将 ID 与 attach to debugger window 中的 ID 匹配 Visual Studio。 ..

3. 另一种可以让您有所了解的方法是使用进程的 ID - 您的 VS 中的 ID attach to process window 可以匹配到远程机器 ID(它们也在服务器上的 Task Manager 中...)

将 ID 与服务器 运行 上的应用程序池匹配 Command Prompt - As Administrator 和 运行 从 %windir%\system32\intesrv\ 文件夹命令 - appcmd list wp 到获取进程 ID 到应用程序池映射,这可能有助于缩小范围....

当您知道哪个应用程序池哪个进程正在 运行ning 时,您可以将它们映射到 IIS Manager 中那个应用程序池上正在 运行ning 的应用程序,并祈祷他们会一对一申请池...

我知道这是旧的,但我 运行 喜欢这个是因为我正在研究相关的东西。

尽管您应该能够通过 UserName 列识别进程。您应该进入服务器并确定您的应用程序所在的应用程序池 运行。然后您可以在用户名列中查找该应用程序池名称。

另一方面,您可以访问您的服务器并按照以下说明获取完整列表。

在 windows 资源管理器中转到 C:\Windows\System32\inetsrv\。输入命令“appcmd.exe list wp”。它将列出与应用程序池关联的所有进程。