Android debug:Android Studio断点调试详解

Posted JMW1407

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android debug:Android Studio断点调试详解相关的知识,希望对你有一定的参考价值。

断点调试

1、概述

众所周知,断点调试是一个合格程序员必备的一种技能,断点调试可以帮助我们查看程序运行期间每一步各变量的值,学会调试可以帮我们节省很多排查问题的时间,下面我们将来介绍一下Android Studio调试的方法和技巧。
在Android Studio中有两种调试模式分别是:

  • Debug模式
  • Attach模式


两种模式使用上没有什么很大的区别,Debug模式直接点击按钮即可运行调试,Attach模式在程序启动以后,点中需要调试的应用

2、调试过程

2.1 第1步:添加断点

**public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        List<String> list = new ArrayList<>();
        for (int i = 0; i < 100; i++) {
            list.add(getSting(i));
            setInto(i);
            Log.i("MainActivity", "这是第" + i + "条数据");
        }

    }

    public String getSting(int i) {
        return ("第" + i + "条数据");
    }

    public void setInto(int i) {
        Log.i("MainActivity", "i=" + i);
    }
}

在调试期间或者调试前点击编辑区的左边单击即可添加调试断点

在已经添加调试断点上再次单击即可取消该行断点

2.2 第2步:调试——单步调试区

show Execution point

功能:显示执行点:点击该按钮,光标将定位到当前正在调试的位置
快捷键:Alt + F10


Step Over

快捷键:F6
单步跳过,点击该按钮将导致程序向下执行一行。如果当前行是一个方法调用,此行调用的方法被执行完毕后再到下一行。比如当前代码是:

int num=10;
int min=Math.min(num,100);
System.out.println(min);

如果当前调试的是第二行,当点击step over时,Math.min(num,100)方法先执行完后跳到第三行.

Step Into

功能:单步跳入,点击该按钮表示程序将执行下一行,如果该行是一个方法, 会进入该方法继续执行。
快捷键:F5


Force Step Into

功能:单步强制跳入,点击该按钮表示程序将执行下一行,如果该行是一个方法, 会进入该方法继续执行。
该操作和前面的Step Into的区别在于:Step Into 遇到系统方法不会强制进入,该方法遇到系统方法也
会强制进入。

快捷键:Alt + shift + F7

Step Out

功能:跳出前面step into 进入的方法,如果需要跳出的该方法有断点就不会跳出该方法,而会进入该方法下个断点
快捷键:F7


run to Cursor

功能:跳到下一个断点
快捷键:Ctrl + R


==点击左边的绿色按钮也可以实现该功能
==

3、其他操作

查看断点


如果我们想查看那些地方打了断点,点击该按钮即可

也可以取消勾选断点

修改变量值

可以在变量区,右键set value修改变量运行期间的值

停止调试

参考

1、https://blog.csdn.net/huweiliyi/article/details/105486756
2、https://blog.csdn.net/tectrol/article/details/95358092

以上是关于Android debug:Android Studio断点调试详解的主要内容,如果未能解决你的问题,请参考以下文章

Android Debug Database

android debug.keystore在哪

Android——DEBUG 堆栈

Android BuildConfig.DEBUG的妙用

任务':transformClassesWithJarMergingForDebug'的Android项目错误执行失败

如何用 Chrome for Android 做远程遥控 debugging