记录一次软件异常调试的过程

我拉下git仓库中最新的代码,前端,后端。然后使用常规的命令npm run dev启动了vue项目。再启动好后台的服务。在浏览器中输入url,出现登陆页面。然后我再输入账户名密码。与往常不同,今天页面报错了。

500 Server Internal error.

最开始,我打开了浏览器开发工具。找到了vue发送请求的代码,debugger发现不出异常。

然后我想起被同事提起的postman,可以测试接口。我使用搜狗插件RESTer(类似postman,用于测试接口)中报错:

在这里插入图片描述

这是登陆页面,所以我打开了微服务中的系统服务,找到了登录接口,打了断点,debug一下,竟然不进这个代码。使用ctrl+H搜索“Value can not be null!”,所有文件中都没搜到。

因为没有执行系统管理包的代码,所以系统管理包下的控制台也没有报错信息。

然后瞄到了网关服务,想起使用RESTer测试系统管理模块的接口时输入过两个url。一个是包含网关服务的url,会先执行网关,网关会把url解析,去执行url对应的具体接口。另一个是直接访问系统管理服务的url,直接执行登录接口。

在这里插入图片描述

去网关服务的控制台,看到了“value must not be null!”。已经找到问题了。
找到报错信息中对应的代码,除了spring包中的代码,只有一个是公司自己写的代码。

debug后发现,原来是,网关服务接受请求信息,其中有一步是读取数据库配置表中的所有配置信息,获取一个字段的值。而我的配置表中没有这个字段。这个字段是用来防止url中包含sql信息,防止sql注入的。如果获取不到值就会执行下面这个方法。message内容就是"value must not be null!"
在这里插入图片描述
然后就去数据库中配置表里增加了这个字段。根据经验,随便设置了一个值。获取了值后,就正常登陆进去啦!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值