本文链接:https://blog.csdn.net/u011781521/article/details/55000066

       http://blog.csdn.net/u010075335/article/details/51222493

系列文章

Eclipse的Debug(一)

Eclipse的Debug各种视图介绍(二)

Eclipse的debug按钮介绍(三)

一个简单的Eclipse调试Debug流程(四)

三个Eclipse下的Debug的使用场景(五)

1、场景一:

小明写了一个任务执行者,该执行者不间断的执行一些任务,在现网上运行了一段时间后,发现有概率的出现一些故障,发现运行一段时间后,该任务者异常退出了,退出的因为是空指针,可以小明想要在本地debug,不知道断点打在哪里,该问题是概率事件,不一定会出现,所以小明debug几遍下来后,头晕眼花,连代码都看不清楚了,小明想要是能有个断点每当出现空指针异常的时候就停下来让他发现问题,那该多好呀。

异常断点

异常断点:在定位问题的过程中,常常会遇到断点无法打到合适的位置,以至于和问题的触发点千差万别,所以这个时候不妨试试异常断点,顾名思义,异常断点是指抛出某种异常后自动挂起的断点。 点击红色部位,增加一个异常断点

输入想要定位的异常类型,例如NullPointerException,这样系统中抛出任何NullPointerException异常后,都会挂起当前线程,给你机会去定位问题。

2、场景二:

小明写了一个巨大的循环,在调测代码时,小明发现每当循环到第100000次的时候,就是出现问题,没有达到自己的预期,于是小明在循环里打了个断点,想看看到底怎么回事,可小明万万没有想到,想要到达100000次循环是多么的困难,小明这个时候已经开始浮想联翩,如果能有这样的断点: If 循环次数==100000,线程停下来

条件断点

如右图,循环1000次,如果想要在循环到500次的时候停下来,可以创建一个条件断点,右击断点悬着Breakpoint Properties。

选中Enable Condition 在空白处,添加你自己的条件,如果条件返回true,线程会被挂起,如果为false,则忽略该异常 Hit Count为该断点经过多少次后,正式挂起线程,如果设置为500,则表达前499次,经过该断点都不会停下,当第500次,该断点会挂起当前线程。

表达式

表达式可以查看一些在当前代码中没有的命令行,方便定位问题。

3、场景三:

小明最近遇到一个难题,在调用一个第三方插件时总是会有问题,小明怀疑是第三方插件的bug,但小明没有找到源码不能进行debug,小明该怎么办呢? Debug定位第三方插件的问题

  1.使用反编译工具将代码反编译

  2.将反编译后的源码进行过滤

  3.修复源码编译错误

  4.进行debug

最新文章

  1. JS中的prototype
  2. Redhat使用CentOS的Yum 网络源
  3. NSRunLoop概述和原理
  4. [moka同学笔记]yii表单dropdownlist样式
  5. 常用EXE文件反编译工具
  6. Nginx的虚拟服务器域名配置
  7. 学习pwn的前提工作及部分解决方案
  8. SQL随记(二)
  9. Win32汇编学习(7):鼠标输入消息
  10. 6-17 看图写树 uva10562
  11. HttpSenderUtil向指定 URL 发送POST方法的请求
  12. JFreeChart 之饼图
  13. python unittest case运行失败重试
  14. CSS的Class以及ID选择器
  15. OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建
  16. PyPt5 浏览器实例
  17. nginx服务器配置说明
  18. JS判断客户端是手机还是PC的2个代码
  19. cdoj1329卿学姐与魔法
  20. RabbitMQ(一):Windows下RabbitMQ安装

热门文章

  1. HDU-3400Line belt-三分再三分-求距离中要加esp
  2. CodeForces 340E Iahub and Permutations 错排dp
  3. HZNU Training 1 for Zhejiang Provincial Collegiate Programming Contest
  4. HDU5461 Largest Point 思维 2015沈阳icpc
  5. 洛谷p2015二叉苹果树&yzoj1856多叉苹果树题解
  6. LeetCode - 字符串数字相乘与相加
  7. AOE工程实践-NCNN组件
  8. 2、pytest中文文档--使用和调用
  9. (一)分布式数据库tidb-简介
  10. Java 中初始化 List 集合的 7 种方式