如何正确提供报错信息?
后端
为什么要提供完整的报错信息?
首先来看一张图,图片来源:https://easyexcel.opensource.alibaba.com/qa/

⚠⚠⚠ 错误案例:请勿模仿!!! ⚠⚠⚠
1)提问:“我报错了怎么解决😭” 2)直接发送接口测试工具返回的报错信息截图


3)发送部分报错信息的截图

正确做法
本地开发环境
1、⚠⚠⚠ 复制完整的报错信息 ⚠⚠⚠ 。


2、通过 https://www.codecopy.cn 发送分享链接。
将前面复制的完整报错信息粘贴 (Ctrl + V) 到 https://www.codecopy.cn 中。

最后点击「分享」,并将生成的链接分享。

服务器环境
宝塔面板
打开“网站”管理页面,选择出现报错的对应项目名称。

找到「日志管理」,复制相关的报错信息(可使用 Ctrl + A 全选复制报错信息),然后粘贴到 https://www.codecopy.cn 进行分享。

Docker
1、输入下面吗命令,获取正在运行的 container 的 CONTAINER ID
▼text复制代码docker ps

2、获取 log
▼text复制代码docker logs -f CONTAINER ID
比如,我的 CONTAINER ID 是 82dad50796ef
那么我就要输入
▼text复制代码docker logs -f 82dad50796ef

3、全选复制对应的报错信息也是 Ctrl + A 全选复制报错信息到 https://www.codecopy.cn
测试接口是否正常
1、首先测试后端服务的连通性
Windows
▼text复制代码telnet 服务器IP 后端运行的端口
Mac
▼text复制代码nc -vz 服务器IP 后端运行的端口
比如:我服务器 IP 是 123.123.123.123 线上后端运行端口是 8080
那么我的请求命令可以这样写
▼text复制代码telnet 123.123.123.123 8080
下面是成功的情况

下面是失败的情况

解决:
上一张 AI 根据我下面流程化生成的图

1)首先检查是否启动成功
在服务器上执行下面命令(如果后端运行在 8080)如果没有内容输出证明启动失败,检查日志解决问题
▼text复制代码lsof -i:8080
失败情况

成功情况

2)排除启动失败的情况
然后再检查「防火墙」相关的配置
- 云服务商防火墙
- 宝塔安全组
- 如果是 Ubuntu 服务器检查一下 ufw 是否开启,如果开启直接关闭即可
▼text复制代码sudo ufw disable
3)还是不行
重启服务器进行尝试
4)上面的问题都排查了还是不行😭
先看一下是不是校园网,如果是校园网用手机热点进行尝试
2、当连通性测试完毕之后,就可以用 Postman 等 其他工具测试接口是否正常了
如果出了 BUG 也是先看报错日志,根据日志进行解决 BUG ,如果没有输出错误日志的情况下,大概率是因为把异常「吞了」可以远程 remote debug 看看
1) localhost 换成服务器 IP
2)8123 换成线上实际运行的端口

前端
这里的「前端」更多指的是前后端联调方面的报错
需要提供浏览器控制台 (Console) 的错误信息以及相关的网络请求 (Network) 信息。这里使用截图也是够用的,但是注意尽量截图要尽量全不要截局部信息
网络请求
如果在「网络 (Network)」面板中没有看到相关的请求,请先按 F12 打开开发者工具 (Developer Tools),然后再执行前端的相应操作(例如点击按钮、刷新页面等),这样就可以捕获到请求信息,如下图所示。

如果仍然没有捕获到请求,请检查开发者工具网络面板中的录制按钮(通常是一个红点或灰点按钮)。如果它是灰色的(表示暂停录制或未开始录制),请手动点击一下,使其变为红色(表示正在录制网络活动)

正常状态是红色

浏览器控制台
请先按 F12 打开开发者工具 (Developer Tools),找到 Console
比如下面这种情况,很典型的跨域问题


