环境:服务器(win2016,IIS7+),VS2019
1.复制 remote debugger 文件夹内容的目标服务器指定的位置。如果你的电脑中安装过 VS多个版本,注意版本,复制你正在使用的VS安装路径的文件夹。我的在这里 C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\Remote Debugger。你的自己找。
2.在远程目标服务器中,打开防火墙端口 ,入方向4024(vs2019), 在阿里云控制台的安全管理组中,打开入方向端口 4024。这个不算坑,是阿里云的要求。
3.新建账号 weixindebugger(自己起名字),归入管理员组。标准组的不行,一个坑。
4.刚刚复制的文件夹中,找到操作系统对应版本的文件夹(64,32),运行msvsmon.exe , 注意以管理员模式运行。直接双击运行又不行了,一个坑。
5.在msvsmon.exe 选项设置中,设置为 windows 认证 模式,并在权限中,添加 weixindebugger 账户。又是两个坑。
6.在 本机 VS2019中, 调试-附加到进程。 服务器地址输入框上 填上IP地址,不需要写端口。写上端口号试试也行。再点击“刷新”按钮。在弹出框中填上用户名weixindebugger 和密码 。通过了就算连上了。如果2-5有一个地方没做对,就会提示各种错误。
7.连接成功后,在列出的服务器进程列表中,找到 w3p.exe. 附加进来。 如果有多个 同名w3p.exe. 则要选择好对应的进程。 一般情况下 IIS远程调试时,要单独建立一个应用程序池,并在80端口网站中增加一个“应用程序”子目录,不是“虚拟目录”。 再把新建的应用程序池分配给这个目录。这样好区分。另外“应用程序”目录可以有自己的 bin 文件夹(里面装dll)和 web.config, 而不影响网站根目录。这个算知识点,不算坑。
8.IIS应用程序池,类型是 经典,不是 集成。一个坑
9。你发布到服务器的文件,必须和你现在VS 中的代码“版本”一致,如果改了本地的,而没有更新服务器上的文件,远程调试就不灵了。我的办法是VS中编译后,“发布”到本地文件夹,再把整个文件夹复制到服务器中。 每次小改动,都要重复“发布,复制”过程,比较繁琐。
以上是踩了半天坑后的总结,给严重下降的记忆力一个补救。