记录一次软件异常调试的过程
发布日期:2021-05-07 21:06:04 浏览次数:25 分类:精选文章

本文共 796 字,大约阅读时间需要 2 分钟。

今天遇到了一个令人头疼的问题。刚拉下最新的代码,按照惯例启动了前端和后台服务,登录页面也能正常跳转。但这一次,输入账户名和密码后,页面却报错了,显示500 Server Internal error。打开浏览器开发工具,检查了vue发送的请求,发现没有异常。这让我怀疑问题可能出在后台服务或者数据库上。

我想起同事提到的postman,可以用来测试接口,但我用的是搜狗插件的RESTer来测试接口时,同样报错了。报错信息中显示“Value can not be null!”,这提示我可能和数据库里的配置有关。我打开了微服务的控制台,找到登录接口并设置断点来debug,结果发现debug器没有进入这个代码。这让我有点困惑。

接着,我检查了系统管理包的控制台,发现没有报错信息,这意味着问题可能出在更底层的地方。我注意到网关服务可能是个关键点。网关服务负责解析url,转发到具体的接口。我之前在测试系统管理模块的接口时,发现有两个url:一个是包含网关服务的url,另一个是直接访问系统管理服务的url。我测试了这两个url,发现当使用网关时,控制台显示“value must not be null!”,而直接访问系统管理服务的url则正常工作。

进一步检查后发现,网关服务在处理请求时,需要读取数据库中的配置表获取一个防止sql注入的字段。如果这个字段不存在,网关就会执行下一步操作,导致报错。于是,我意识到问题出在配置表中缺少这个字段。

于是,我进入数据库,手动在配置表中添加了这个字段,并随便设置一个值。这样,网关在获取值后,就正常处理了请求,允许我成功登录。

整个过程让我明白了,配置表中的每一个字段都很重要,尤其是那些用于防止sql注入的字段。缺失的字段可能导致意外的错误,影响系统的正常运行。以后我会更加注意配置表的完整性,确保所有必要的字段都已存在,以避免类似的错误再次发生。

上一篇:shell编程学习
下一篇:在ubuntu上面安装deb包

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月09日 14时40分29秒