Eclipse Debug调试

Eclipse Debug调试(下)

  • Debug调试Android应用

1). 打断点: 在应用中可能有问题的代码前添加断点

2). debug运行: debug方式运行安装应用

3). 情况一: 可能直接进入debug模式视图, 并悬停在断点处

     情况二: 没有进入debug模式视图, 需要进行一定的操作才进入debug模式视图

4). 进入debug视图后, 利用debug工具栏和相关视窗进行调试

  • Debug调试的常用技巧

1)、跳过、进入、返回

  • F6-Step Over:移动到下一行。如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行。
  • F5-Step Into:移动到下一步,如果当前的行是一个方法调用,将进入这个方法的第一行。
  • F7-Step Return:继续执行当前方法,当当前方法执行完毕的时候,控制将转到当前方法被调用的行。

F8-Resume : 执行完当前断点区域, 进入下一个断点处/结束

2)、观察变量的值

  • 将鼠标停留在变量上 或者 选中变量后按Ctrl+Shift+i查看变量值
  • 选中变量, 右键-->watch,  在Expressions View中添加监视。

3). 使所有的断点暂时失效

  • 按下此按钮后, 所有的断点都会直接路过, 再次点击后所有断点就会立即生效
  • 有时在程序运行的某个阶段不想要断点, 但后面的阶段又需要

4). 条件断点

  • 可以添加一个boolean类型的条件来决定断点是否被跳过。如果条件为真,在断点处程序将停止,否则断点被跳过。

5). 异常断点

  • 在断点view中有一个看起来像J!的按钮,我们可以使用它添加一个基于异常的断点,
  • 例如我们希望当NullPointerException抛出的时候程序暂停,我们可以这样:

6). 成员变量断点(在Android Eclipse中不可用)

  • 他允许当一个选定的属性被访问或者被更改的时候程序执行暂停,并进行debug。
  • 最简单的办法是在类中声明成员变量的语句行号左边双击,就可以加入一个成员变量断点。

7). 方法断点

  • 添加方式: 在方法声明行左侧栏双击
  • 只要当前方法被调用或调用完成程序就会悬停

8). Step 过滤(少)

  • 当我们在调试的时候摁F5将进入方法的内部,但这有个缺点有的时候可能会进入到一些库的内部(例如JDK),
  • 可能并不是我们想要的,我们可以在Preferences中添加一个过滤器,排除指定的包。

断点分类:

  1. Line breakpoint : 方法体的某条语句行------
  2. Watchpoint(FieldPoint) : 成员变量声明行
  3. Method breakpoint : 方法声明行
  4. Exception breakpoint : 添加异常类型