安卓的断点调试

直销银行在更新了OCR的so库后出现了问题,OCR出现了闪退的情况,对于安卓我还是一知半解,外包方叫我加断点调试,我才发现连Andriod Studio的断点调试都不清楚,上网百度了些资料,此处下方资料来源于@DRPrincess

1.在怀疑的代码上加上断点:

这里写图片描述

2.点击debug调试

这里写图片描述

3.程序执行到断点出就可以调试了

这里写图片描述

4.断点按钮组选择直接执行到下一行代码,还是到方法里面一步步执行,我这里选择进入方法,是不是能看到每一行的值

这里写图片描述

这样是不是比打印日志好多了.是吧?是的.

关于断点调试,我们应该知道的事

一、调试步骤

1.添加断点 
方法: 如上图,在代码编辑区显示行数的左边空白区域,单击鼠标 
2.debug 
两种开启调试的方法: 
debug调试: 
开始方法: 点击绿色小昆虫图标这里写图片描述开始调试 
适用场景:程序未运行,点击debug,开始调试模式运行.

attach debugger to Android Progress: 
开始方法:点击这里写图片描述 开始调试 
适用场景:程序已经运行了,这个时候想要调试了,不需要重新debug重新开始程序,可以选择直接点击attach debugger,选择要调试的进程,直接进入调试模式.

3.执行到断点,开始调试 
这一步主要是要看我们的debug面板(就是下面这个),分为几个部分, 
(1)断点单步调试区 
(2)断点管理区 
(3)调试信息观察区

这里写图片描述

二、断点单步调试区功能介绍

Step Over(F6) : 执行到下一行代码

这里写图片描述

示例: 
这里写图片描述

这里写图片描述

Step Into(F5):进入到当前方法中,仅限于自定义的方法,系统方法进不去

这里写图片描述

示例: 
这里写图片描述

这里写图片描述

Force Step Into(Alt +Shift+F7):强制进入方法,包括系统方法

这里写图片描述

示例: 
这里写图片描述

这里写图片描述

Step Out(F7) : 跳出方法或者下一个断点,就直接到下一个断点(跳到下一个断点这个功能的我不常用,一般使用左侧断点管理区的绿色小三角按钮)

这里写图片描述

示例 (跳出方法): 
这里写图片描述

这里写图片描述

Run To Cursor(Ctrl+R): 快速进入当前代码执行的地方,多用于循环

这里写图片描述

示例(直接从i=0到i=1的位置): 
这里写图片描述

这里写图片描述

Evaluate Expression (Ctrl+U): 表达式求值

这里写图片描述

示例: 
这里写图片描述

三、断点管理区功能介绍

Resume Program(F8):直接跳到下个断点,不过没有下个断点,就直接结束了调试

这里写图片描述

Pause Program: 暂停调试

这里写图片描述

Stop(Ctrl+F2): 直接结束调试

这里写图片描述

View Breakpoints(Ctrl+Shift+F8): 查看设置的断点们

这里写图片描述

Mute Breakpoints: 将设置的全部断点的状态置为无效,有点取反的意思,当有效的时候点击断点全部变为有效,反之无效变为无效

这里写图片描述

Get thread dump: 获取线程的帧栈区,包括线程的名称,运行状态等

这里写图片描述

Setting: 关于断点调试的一些设置

这里写图片描述

有以下的值:

名称功能解释
Show Values Inline调试过程中开启该功能,将会代码右边显示变量值,默认开启
Show Method Return Values调试过程中开启该功能,将在变量区显示最后执行方法的返回值 ,默认不开启
Auto-Variables Mode开启这个功能后,idea的Debugger会自动评估某些变量,大概就是当你执行在某个断点时,Debugger会检测当前调试点之前或者之后的变量的状态,然后在变量区选择性输出,例如下面没调用这个变量了,那这个变量就不显示在变量区了. 默认不开启
Sort values alphabetically开启这个功能的化,变量区中的输出内容,例如变量名或者方法名,会按照按字母顺序进行排序,默认不开启

如果这些描述,小伙伴们想知道具体勾选与不勾选,影响了什么,可以自己点击试试,那才是最生动形象的演示,请相信我,我只是懒的贴图了.

四、调试信息显示区

1、对象变量区-Variables窗口 
这个窗口是主要显示debug下,代码执行处的变量的值,你可以对显示的值做一些操作, 
例如: 
SetValue–手动设置指定的值 
Evaluate Expression –计算表达式 
Add to Watches–添加到Watches窗口 
等等,这里不列了,小伙伴们大可都去试试 
这里写图片描述

2、变量观察区- Watches窗口

观察窗口,顾名思义,就是专门用来观察数据的值得窗口.这个窗口存在的意义是,如果多个标量或者多个表达式在多个不同的地方,要上下观察是很麻烦的,我们可以把它Add to Watchs, 然后在观察窗口就可以一次看到多个变量值; 
添加到这个窗口的方式有以下几种: 
1、变量右键选择 Add to Watches 
2、Watches窗口中点击+号,输入观察的数据,这里我要提醒小伙伴一下,这里不限于是变量的名称,你完全可以数据一个表达式什么的,例如a+5,a >0等等,非常方便.

这里写图片描述

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值