VS调试-附加到进程

时间:2023-02-20 19:13:04
背景


  使用VS在微信公众号开发中,会遇到这样的情况:如果按下F5运行程序,微信服务器是无法访问我们的程序的,但是如果仅仅是将程序发布到IIS中,虽然可以响应微信服务器的请求,但是却无法直接调试。如果以下两种要求同时满足,我们该如何做:

  • 应用程序可以通过公网IP访问

  • 能够在VS中调试


解决方案


  在VS的“调试”菜单中的“附加到进程”可以帮助我们解决这个问题。


VS调试-附加到进程

  在可用进程中选择“w3wp.exe”,点击附加,在程序中加入断点即可开始断点调试。


常见问题


  • 选择附加提示“此任务要求应用程序具有提升的权限”,出现这个问题是因为“附加到进程”需要使用管理员权限运行VS。选择“使用其他凭据重新启动”即可,VS会重新启动。


VS调试-附加到进程

  • 可用进程中找不到“w3wp.exe”。打开IIS确保所发布的网站服务已经启动,选择在浏览器中浏览,如果在浏览器能够正常显示就可以找到“w3wp.exe”。


    VS调试-附加到进程

  • 有很多“w3wp.exe”,选择哪一个?w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运行。选择你要调试的那个进程就可以(在用户名项可以查看)。