😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD,日常还会涉及Android开发工作。
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。
😊 座右铭:不想当开发的测试,不是一个好测试✌️。
热衷分享,喜欢原创,如果觉得博主的文章还不错的话,还请点赞、收藏哦!👍
对于像我这样的 Android 开发新手小白来说,掌握 Debug 排查工具真的是至关重要。今天整理了下最近经常使用的 Bug 排查方式,真的是具有用。
一、Logcat
首先来说说 Android 的日志工具——Log。Android 中的日志工具类是Log(android.util.Log),这个类中提供了如下5个方法来供我
们打印日志:
- Log.v()。用于打印那些最为琐碎的、意义最小的日志信息。对应级别 verbose,是 Android 日志里面级别最低的一种。
- Log.d()。用于打印一些调试信息,这些信息对你调试程序和分析问题应该是有帮助的。对应级别 debug,比 verbose 高一级。
- Log.i()。用于打印一些比较重要的数据,这些数据应该是你非常想看到的、可以帮你分析用户行为的数据。对应级别 info,比 debug 高一级。
- Log.w()。用于打印一些警告信息,提示程序在这个地方可能会有潜在的风险,最好去修复一下这些出现警告的地方。对应级别 warn,比info 高一级。
- Log.e()。用于打印程序中的错误信息,比如程序进入了catch 语句中。当有错误信息打印出来的时候,一般代表你的程序出现严重问题了,必须尽快修复。对应级别 error,比 warn 高一级。
无论是哪一种,用法都是一样的,比如Log.i()方法需要传入两个参数,第一个参数是tag,传入当前类,或者任意方便识别的内容均可,主要用于打印信息进行过滤;第二个参数是msg,即想要打印的具体内容。
Log.i("小曾同学","打印结果${adapter}")
例如,我们在代码中加入日志打印时,当操作对应的行为时,日志只能够就会出现打印信息,我们可以通过打印日志可以查看程序运行的顺序,运行的结果等,这也是我们通常说的打桩。也方便我们日常排查。
Java 中使用 System.out.println() 方法来打印日志,Kotlin 中使用或 println() 方法,但是在真实项目中不建议使用,因为日志开关不可控制,而且不能添加日志标签,日志没有等级之分。
当我们的应用出现崩溃或者异常时,可以过滤关键字,或者过滤包名来排查。
二、断点+Debug ‘app’
方式一:打断点,安装 Debug 包
如果我们需要 Debug 某段代码,就需要先在那一行打一个断点,点击要调试的代码行,我们会看到代码行左边有红点,表示已经打了断点。
然后点击工具栏中的 Debug 运行工具,开始安装 Debug 包,
此时手机上会提示Waiting For Debugger
然后在 Android Studio 中会弹出 Debug日志栏,点击箭头,一行行代码运行
执行完一行后,会在代码后显示运行的结果,如果代码出错,可能点击下一步的时候代码不会执行,也可能会出现页面崩溃问题。
如果已经安装了Debug包,则可以点击 Attach Debugger to Android Process
另外当你忘记你对代码做了哪些更改时,可以右击界面,找到Git–>Show Diff 查看本地和远端代码的不同之处。
以上工具真的超级有用,拿走不谢。