Android Studio DeBug

简介: Android Studio DeBug额,之前都是用log日志输出,自己想要的东西.搞得代码到处都是Log.i()...突然有一天,,,自己get到了,Android 断点.

Android Studio DeBug

额,之前都是用log日志输出,自己想要的东西.搞得代码到处都是Log.i()...

突然有一天,,,自己get到了,Android 断点....调试....,

世界就变得不一样了....

这篇文章,算是自己阅读和实战后的笔记吧~

1.adb连接后,打开debug

img_b14e37348b4bfaf5038a035db599b4d2.png
这里写图片描述

2.debug断点的设置

img_aec426bf892ace24358e61e0acad4497.jpe
这里写图片描述

3.debug的面板分析

在你,点击第一步的ok之后, 会弹出debug的窗口.其中的界面如下.
区域分别为

  • 单步调试区
  • 断点管理区
  • 求值表达式
  • 线程帧栈区
  • 对象变量区
  • 变量观察区
img_1793094312653cf23a52049cf5e2e18b.jpe
这里写图片描述

4.debug,演示操作

这里写图片描述
这里写图片描述

5.debug操作姿势--单步调试区

该区提供了调试的主要操作,和你所熟知的一样的,主要有:Step over、step into、force step into、step out、drop frame。

5.1 全局数值监视 watch

img_a91613fc7d1e84ad05d0feedc2c3ffbc.jpe
这里写图片描述

5.2 变量变化 variables

img_6e02beb42cf4e0273bf7c29c28c6417b.jpe
这里写图片描述

5.3 交互式解释器Evaluate expression

img_198d99dedc0bd5ae2227df4cb3fe6b01.jpe

你可以执行任何你想要执行的表达式进行求值操作


img_ca8393cf33c1384b6863a677efc9f874.jpe
这里写图片描述

5.4 Force Run to Cursor

img_c587651b1909193c32a5850b356a68a5.jpe

可以忽视已经存在的断点,跳转到光标所在处.
如现在第10行,此时我想调试18行而又不想一步一步调试,能不能一次到位呢?我们只需要将光标定位到相应的位置,然后执行Force Run to Cursor即可:

5.5 Get thread dump这里写图片描述

img_cb4bb58cc2d79f7c57eef134c4a14c96.jpe

6.断点的分类

断点是调试器的功能之一,可以让程序暂停在需要的地方,帮助我们进行分析程序的运行过程

方法断点
单行断点
条件断点
日志断点
异常断点
属性断点

6.1 方法断点

最常用,略过

6.2单行断点

最常用,略过

6.3条件断点

条件断点,就是某种特定条件下,才会发生的断点.比如,现在我们有个list中,其中包含了q,1q,2q,3q四个元素,我们希望在遍历到2q时暂停程序运行,那么需要进行如下操作:
在需要的地方添加断点,如下:

img_48772b0f7f7c2794b2be820d86c49a21.png

断点处左键单击,在Condition处填写过滤条件.此处我们只关心2q,因此填写s.equals("2q")
img_455b788b4bb730e4476d9c1d6f952260.png

6.4日志断点

该类型的断点不会使程序停下来,而是在输出我们要它输出的日志信息,然后继续执行。具体操作如下:
同样在断点处左键单击,在弹出的对话框中取消选中Suspend。


img_353216196f6338154721cf9898e5a9a9.png

在弹出的控制面板中,选中Log evaluated expression,然后再填写想要输出的日志信息,如下:

img_f72a394c8ce27e1e4171ab2a27159c68.png

当调试过程遇到该断点将会输出结果,如下:


img_ccf2f2b0c5101409f39b93c8dd713f42.png

6.5#属性断点 Filed WatchPoint

img_1c03501c035b9d4e958a1671e0f688b9.jpe

Filed WatchPoint是本质上是一种特殊的断点,也称为属性断点:当我们某个字段值被修改的时候,程序暂停在修改处。通常在调试多线程时尤为可用,能帮我们及时的定位并发错误的问题。


参考:

江湖人称小白哥的 Android Studio代码调试大全,写的确实很好,大家可以去 看下,一片足以让你掌握Android调试的文章

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
SQL 人工智能 Dart
Android Studio的插件生态非常丰富
Android Studio的插件生态非常丰富
1021 1
|
Ubuntu Linux Android开发
Android Studio支持多种操作系统
Android Studio支持多种操作系统
812 1
|
开发工具 Android开发 iOS开发
如何在Android Studio中配置Flutter环境?
如何在Android Studio中配置Flutter环境?
2971 160
|
9月前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
883 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
Android开发 Windows
Android studio 报错Connect to 127.0.0.1:8888 [/127.0.0.1] failed: Connection refused: connect(已解决)
这是一篇关于解决Android Studio报错“Connect to 127.0.0.1:8888 failed: Connection refused”的文章。问题通常因系统代理设置被Android Studio自动保存导致。解决方法是找到系统中Android Studio使用的gradle.properties文件(位于Windows的C:\Users\你的电脑用户名\.gradle或Mac的/Users/.{你的用户目录}/.gradle),删除或注释掉多余的代理配置后保存并重新Sync项目。希望此经验能帮助快速解决同类问题!
2445 36
|
Java Android开发
Android studio中build.gradle文件简单介绍
本文解析了Android项目中build.gradle文件的作用,包括jcenter仓库配置、模块类型定义、包名设置及依赖管理,涵盖本地、库和远程依赖的区别。
1047 19
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
1433 1
|
前端开发 Java 编译器
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
603 36
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
518 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
前端开发 数据处理 Android开发
Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍
本文深入探讨了Flutter前端开发中的调试技巧与工具使用方法,涵盖调试的重要性、基本技巧如打印日志与断点调试、常用调试工具如Android Studio/VS Code调试器和Flutter Inspector的介绍,以及具体操作步骤、常见问题解决、高级调试技巧、团队协作中的调试应用和未来发展趋势,旨在帮助开发者提高调试效率,提升应用质量。
725 8

热门文章

最新文章