【问题标题】:VS 2015 Remote debugging (msvsmon.exe) how to know which w3wp process attaches to which iis serviceVS 2015远程调试(msvsmon.exe)如何知道哪个w3wp进程附加到哪个iis服务
【发布时间】:2017-02-12 08:57:20
【问题描述】:

我正在尝试使用 Remote debugger (msvsmon.exe) 远程调试 Web 应用程序

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

我如何知道要附加到哪个进程?

【问题讨论】:

  • 如果您使用 sysinternal 的进程资源管理器,您可以查看进程的属性,包括用于启动它的命令行。这应该会提示使用哪个进程,尽管它并不是超级用户友好
  • IMO 您应该为每个应用程序拥有一个池标识。然后很容易找到要调试的进程:)
  • @pepo 这不是我的系统,...通常是“系统人员”来决定这个...。但是是的,这可能会起作用。谢谢。

标签: visual-studio iis process remote-debugging visual-studio-debugging


【解决方案1】:

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

我很幸运得到了一个Local Services,我在该服务器上只运行了一个...

2.用户友好的方式

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

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

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

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

【讨论】:

【解决方案2】:

我知道这是旧的,但我遇到了这个,因为我正在研究一些相关的东西。

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-04
    • 1970-01-01
    • 2011-05-06
    • 2014-08-05
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    相关资源
    最近更新 更多