最近在做微信公众号开发,由于之前没有接触过,突然发现调试不方便,不方便进行断点跟踪调试.因为微信那边绑定的服务器地址必须是公网地址,但是还是想进行断点调试(毕竟这样太方便了,程序有Bug,一步步断点跟踪不是很爽么,哈哈)
因此上网搜了一下,发现好多是使用软件之类的进行请求转发从生产环境转发请求到开发环境上,发现有的太麻烦了.
有的人喜欢日志记录,这个看个人习惯了,我比较喜欢断点调试罢了,也可以看见程序执行流程不是么
突然想到Vs有一个附加到进程的远程调试.于是玩了一把.我们直接开始(服务器上就不要使用发布版本代码了,代码和本地开发一样,不然是不能调试的)
本篇是以开发环境的Visual Studio2013旗舰版以及生产环境里阿里云的Windows Server 2008 R2服务器为例(篇尾附3分钟在线演示,不清楚可以看看)
只需四步,废话不多说,我们直接开始
Step1:我们首先从vs安装目录找到远程调试工具的x86 x64文件夹拷贝到生产环境上.
Step2:在生产环境服务器中启动远程调试工具msvsmon.exe 按下图进行设置 0代表一直运行 比如你设置900秒默认 那么900秒内不使用调试器的情况下 远程调试器会自动关闭
Step3:我们在Vs中选择调试菜单下的附加到进程,传输选远程无身份验证,限定符填写生产环境服务器IP,然后点刷新,从下面进程中找到w3wp.exe进程(注意:如果你服务器正在运行多个站点那么找到对应的进程就行,一个站点对应一个w3wp.exe进程,有进程ID的,自己找到对应的就行,不要问我怎么找,自己找!),然后附加到Vs上
服务器中进程列表
Vs中附加进程中连接到的远程服务器的进程列表 和上面是一样的
Step4:最后我们在程序中打上断点,直接向微信公众号发请求这时候请求就可以到调试器里面了.可以一步步断点调试了.
如果上面有不清楚的,可以观看下面的3分钟视频演示,逐步进行即可.
http://www.nginx.online/wx.wmv (360急速浏览器和猎豹浏览器可直接在线观看)
如果也解决了你的问题 手滑点一下下方的好文要顶 欢迎大家交流指教