微信公众号本地断点调试(frp反向代理或Remote Debugger)
问题描述:
需要开发微信授权和订阅推送,但是感觉调试不方便,就试着几种方式。因为是用的C#开发,Visual Studio工具自带配套的远程工具 (Remote Debugger)。但是感觉不稳定,容易端口,就尝试反向代理,发现还挺方便的。下文将分别介绍这两种方式。
Remote Debugger:
详细安装步骤参考:https://zhuanlan.zhihu.com/p/29183052。这里着重描述,遇到的一些坑。
1.选中项目->属性,web一栏勾选如下。
2.项目发布是配置成Debug模式。
3.首先要用浏览器打开该IIS项目,才会出现目标进程。但是目标进程并不是chrome那个网页,而是w3wp.exe。
4.防火墙应该允许vs2017及Remote Debugger的网络请求。
frp反向代理
强烈推荐此方式,当然前提是你有自己的服务器或外网ip。frp文档如下 https://github.com/fatedier/frp/blob/master/README_zh.md
从release页下载程序,然后服务器和本地各放置一份。
服务器配置:
打开frps.ini文件,配置绑定端口和转发端口。
[common]bind_port = 7000 vhost_http_port = 80
命令行窗口执行 frps.exe -c frps.ini
本地配置:
打开frpc.ini文件,配置服务器地址,服务器绑定的端口,本地实际端口,及域名。182.*.*.*为个人服务器地址, www.****.com为个人域名。
[common]
server_addr = 182.*.*.*
server_port = 7000
[web]
type = http
local_port = 3000
custom_domains = www.****.com
命令行窗口执行 frpc.exe -c frpc.ini
此时在服务器访问 www.****.com,或者 localhost:80 会发现实际是转发的本地请求。然后通过vs附加进程到本地项目,即可实现本地断点调试。