背景
因为我们工作中有时需要调试的项目是已经部署到服务器上,然而项目代码或已经编译好的DLL我们不能直接运行本地的VS来调试,此时就需要利用msvsmon来远程调试,下面说一下这个工具的使用。
一、找到msvsmon的位置
在本机的开始菜单,vs目录下找到Remote Debugger Folder,如果在开始菜单中没看到有这个文件夹的话,可以自行到本机安装VS的目录下找到这个相对路径\Common7\IDE\Remote Debugger
,这个工具安装VS的时候都会安装的,所以以目前安装的VS版本都一定会有。
二、拷贝文件夹
打开Remote Debugge 文件夹,根据服务器的版本,选择32位或者64位子文件夹,拷贝到服务器上
三、运行msvsmon.exe
在服务器上运行文件夹中的msvsmon.exe,注意,如果你登录服务器的账号不是管理员,就要右击使用管理员权限运行它
四、修改工具配置
运行之后可以在工具-选项中修改端口号和身份验证模式,身份验证可以选择使用你登陆服务器的账户密码,也可以使用无身份验证的方式,不过后者不安全,允许任何人连接。
如果是windows身份验证,可以显式指定权限,一般使用调试权限即可
五、开始附加进程调用
配置完成后回到本机vs,选择调试-附加到进程。
如果使用windows身份验证,那么传输选项就用默认值,否则使用远程(无身份验证);限定符填写服务器IP+msvsmon中设置的端口。注意,如果服务器开启了防火墙记得设置允许规则;
填写好之后点击刷新按钮,找到w3wp.exe进程,同名进程可能会有多个,找到要调试网站的进程,点击附加按钮。注意,如果看不到你的网站进程,可能是网站未开启,或者没有勾选左下角的"显示所有用户进程"
这样,在浏览器中打开网站,就可以在本机调试了。注意,网站发布到服务器时要选择debug模式,保留pdb文件,否则不会命中断点。