阅读 118

软件调试方法有哪些(软件调试的基本步骤)

  • Debug调试的作用?

1). 跟踪程序的运行过程,找出问题出现的地方,更快的解决问题(bug)

2). 梳理已有功能代码的运行逻辑流程

  • 如何进行Debug调试?

1). 开启Debug的一般步骤:

  1. 设置断点 : 在某个方法体的特定行打断点

2. Debug运行

3. 进入Debug视图模式, 运行至断点处悬停

2). Debug视图的组成

1 : 常用debug操作工具栏

2 : 线程堆栈视图

3 : 变量视图、断点视图

4 : 代码视图

3). debug常用操作工具栏

1 : 代表执行完当前断点区域进入下一个断点或结束

2 : 中断程序

3 : 进入当前行的方法(单步跳入)

4 : 执行完当前行, 进入下一行(单步跳过)

5 : 跳出当前方法执行(单步跳出)

4). 线程堆栈视图

5). 变量视图

1 : 为变量名视图,显示当前代码行中所有可以访问的实例变量和局部变量

2 : 显示所有的变量值

3 : 显示当前选中变量的值

6). 断点视图

1 : 移除断点

2 : 临时停用/启用断点

  • 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 : 添加异常类型
文章分类
百科问答
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐