java 让debug出色

虽然我们不喜欢bug,但是bug永远都存在。
虽然我们牛逼,但是仍然有不知道的东西,解决不了的问题。
so,还得借助工具,让咱效率提起来扛扛的。
解决的问题如是:由于某种原因,其他系统发送的mq,我这边说没收到,他那边说发了。然后,一愁不展,咋办呢?好吧,肯定是抓包确认问题咯。嘿,这不是本文的重点,请自行脑补抓包。

java 让debug出色

 

从对方系统的mq记录里,取出消息体,放到mq后台,直接发送到消费服务器。然后就遇到报错了,苦思不得结果后,当然了,只能使用终级绝招,就用本机来代替debug吧。
本地服务起来之后,同样,mq后台发送消息。不出意外地,和测试服务器上报了不一样的错。这就尴尬了。和测试环境不一样,咋整呢?
不怕,咱一步步来。按照堆栈指示的代码行,很快定位了有问题的代码。原因为某个jar包中的值报了空指针异常。咋整呢,咱们的本机环境不像测试环境呢。解决办法1:将本机模拟成测试环境一样的情况,太难,至少linux和windows环境就是不一样的。方法2:想办法让这个变量的变得和测试环境一样。方法3:想办法跳过报错的代码,使其继续后面的程序,2个问题,1是程序做不到跳过不执行功能,2是跳过执行后后续可能使用这里的值,会导致其他错误。故此,只有改变变量值一法了。
案例1:改变一个基本类型变量的值
直接setvalue即可。

public static void main(String[] args) { String var1 = "var1"; int i = 1; System.out.println("var1:" + var1); // 输出 var1:changed }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypgdg.html