奇淫巧技之idea调试

《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没拿到值,就一目了然了。
:::

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值