《java是世界上最好的语言》
我们用5分钟写的代码,常常用55分钟调试。 ——曹雪芹
曹雪芹是我国著名的文学家,他的话提醒着我们,如果我们不会调试代码,那么我们的工作效率将大大降低。
下面我们就列出曹公的书中总结出的几个调试技巧提高工作效率,挤出大量的摸鱼时间。
不断的的断点
看到标题的你肯定有疑问,断点不断那要这个断点有什么用?
看如下这段代码:
int a = 1;
System.out.println(a);
打印出应该是1,但是
问题出在哪里?首先我要说明,我并没有使用evaluate Express使a变成2。
我们右键这个断点进去看下。
这相比eevaluate Express这个工具我们不需要每次都去执行,当代码跳到断点就会执行a=2这个表达式。
什么?为什么我右键断点里没有 Evaluate and log
我来教你怎么打开
1.先打一个断点。
2.右键你的断点。
3.点击more
你是不是从来都不知道这里有个这东西?是的话扣波1.
那么问题来了了。你的标题不是说不断的断点么?
两个问题
怎么做到不断?
不断的断点有什么用?
不断的断点,我能让1变成2,你说神奇不神奇。
你可以假装忽悠你身边的同事,这是肿么回事啊,上面明明是1,没地方赋值,就变成2了?
正经点。我们来说点实际应用场景。
一天你在本地通过postman调试接口,你的接口的访问需要登录,登录是要通过微信授权啥啥的。
通过下面这样设置断点,就可以不用登录,也能模拟请求了啦。
条件断点
情景模拟:md,报空指针错误了。抛出错误的地方在循环里。
我不知道是哪个id拿不到值
解决办法
这个时候,断点就只会在userName为null是暂停,此时是哪个id没拿到值,就一目了然了。
:::