欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 如何正确定位前后端bug?

如何正确定位前后端bug?

2025/1/23 2:20:12 来源:https://blog.csdn.net/qq_53541336/article/details/145284432  浏览:    关键词:如何正确定位前后端bug?

在平时的开发过程中,正确定位前后端bug是提高开发效率和项目质量的关键。以下是一些实用的方法。

一、前后端bug 特征

前端主要负责显示数据,后端主要负责处理数据、存储数据,前后端主要通过接口进行数据交换。

1.前端bug特征

  • 界面显示类问题:如文字大小不一,控件颜色不搭,控件不整齐,静态界面错误;
  • 页面布局类问题:文字排版没有统一,行间距大小、重叠、显示不全;
  • 页面交互类问题:没有点击,拖拽,基本都是JS的问题;
  • 兼容性问题:不同环境下的界面显示类问题和页面布局类问题;

2.后端bug特征

  • 业务逻辑类问题:如正确的用户名密码却登录失败等;
  • 数据类问题:数据新增成功但是没有显示;
  • 性能类问题,安全类问题;

二、判断前后端bug方法 

1.抓包+报文分析 

在复现bug时,F12或者Fiddler抓包,分析报文;

如果前端没有发出请求,则是前端bug;

如果前端发出了请求,但是参数不对,则是前端bug;

如果前端发出了请求,参数正确,后端没有相应,没有数据,则是后端bug;

如果前端发出了请求,参数正确,后端返回的数据不正确,则是后端bug;

如果前端发出了请求,参数正确,后端返回的数据也正确,但是界面显示不对,则是前端bug;

2.查看错误提示或日志 

前端错误提示:如果浏览器控制台(Console)有报错信息,如JavaScript错误、资源加载失败等,通常是前端的bug。

后端日志:查看后端服务的日志文件,如Linux服务器中的日志文件。如果日志中有error、warning、exception等报错信息,通常是后端的bug。

3.利用状态码判断

4xx状态码:表示客户端错误,通常是前端或客户端的问题。例如,404表示未找到资源,可能是前端请求的URL错误。

5xx状态码:表示服务器错误,通常是后端或服务器的问题。例如,500表示服务器内部错误。

常见状态码:

(1)以2开头

  • 200 – 请求成功,服务器也返回了响应信息

(2)以3开头:请求重定向了,请求的位置转移了

  • 301 – 永久性定向,请求的资源被分配了新的URL地址,而且以后请求的时候都是用新的URL地址
  • 302 – 临时性定向,请求的资源被分配了新的URL地址,这次访问是这个新的URL地址,下次访问可能就是另外的URL地址
  • 303 –临时性定向,请求的资源被分配了新的URL地址,请求的时候使用GET方法定向获取资源(与302的区别就是303要求客户端使用GET请求方式)

(3)以4开头

  • 401 – 表示访问的页面没有授权
  • 403 – 表示没有权限访问这个页面
  • 404 – 表示没有这个页面,服务器上无法找到请求的资源(也可以是服务器拒绝请求但是不想给拒绝原因),例如:前端未传标头Authorization,则后端状态码显示401表示该访问的页面未做授权

(4)以5开头

  • 500 – 表示服务器内部异常
  • 503 – 表示服务器正处于超负载或者正在进行停机维护,无法处理请求
  • 504 – 表示服务器请求超时,没有返回结果

 4.前端特定调试方法

(1)使用Vue Devtools等调试工具:对于使用Vue等前端框架的项目,可以利用Vue Devtools等浏览器扩展工具来查看和调试组件状态、属性和事件。

(2)控制台日志:在代码中添加console.log、console.error等日志语句,跟踪程序执行流程和变量状态变化。

(3)代码调试:通过浏览器的开发者工具设置断点,逐步执行代码,查看变量的值和调用栈,定位问题所在。

5.后端特定调试方法 

(1)查看数据库:检查数据库中的数据是否正确存储和更新。如果数据不正确,可能是后端处理逻辑的问题。

(2)查看缓存:如果项目使用了缓存机制,检查缓存是否正确更新和同步。缓存问题也可能导致后端bug。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com