如何Debug调试Android程序

当开发过程中遇到一些奇怪的bug,但又迟迟定位不出来原因是什么的时候,最好的解决办法就是调试了。调试允许我们逐行地执行代码,并可以实时观察内存中的数据,从而能够比较轻易地查出问题的原因。总结一下使用Android Studio来调试Android程序的技巧。

1、调试工作的第一步肯定是添加断点,假设这里我要调试点击事件没有反应的问题,那肯定定位到监听器的逻辑代码部分,然后在第一行代码左边点击一下就可以添加断点了。

在这里插入图片描述
如果想取消这个断点,再次对着它点击就可以了。

2、添加好断点后,接下来就是调试了,点击顶部工具栏中Debug按钮(小虫子),就会使用调试模式来启动程序。

在这里插入图片描述

3、程序运行起来时,首先会看到一个Debug提示框,这个框很快会自动消失,然后我们对列表项进行点击,这时候Android Studio就会自动打开Debug窗口。接下来每按一次F8,代码就会向下执行一行,并且通过Variables视图还可以看到内存中的数据。

在这里插入图片描述

4、可以查看到执行过程中错误的变量值,这样就通过调试的方法轻松定位问题了。调试完成后点击Debug窗口中的Stop按钮来结束调试即可。还有一种动态调试方法,不需要选择Debug模式启动程序,就使用正常的方式来启动程序。先运行程序,然后点击工具栏的Attach debugger to Android process按钮。

在这里插入图片描述
此时会弹出一个进程选择提示框,也就是当前程序的进程,选中这个进程,然后点击OK按钮,就会进入调试模式了。

在这里插入图片描述
会打开这样的窗口:
在这里插入图片描述
然后点击一下列表项,触发了断点,就会自动打开Debug窗口了。

在这里插入图片描述

Debug和Relase的最大区别在于Debug模式下会有程序执行过程中的信息,所以执行较慢。


http://www.niftyadmin.cn/n/376120.html

相关文章

通过Python的fitz库提取pdf中的图片

文章目录 前言一、fitz库是什么?二、安装fitz库三、查看fitz库版本四、pymupdf库是什么?五、安装pymupdf库六、查看pymupdf库版本七、fitz和pymupdf是什么关系?八、提取pdf中的图片1.引入库2.定义pdf路径3.打开PDF文件4.遍历所有页面5.获取页…

618电商节必看:如何提高APP广告变现效率?备战攻略分享!

​随着618电商节的临近,各大电商平台开始了激烈的促销活动。在这个时候,作为APP开发者,如何让自己的APP脱颖而出,吸引更多用户,并将流量变现成为一大难题。本文将为您提供一些备战攻略以及参数优化,助力开发…

输出指定日期区间内的所有天、周、月

部分方法需要依赖hutool工具包。 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>4.5.10</version> </dependency>需求&#xff1a;输出2023-04-17到2023-05-23期间所有的天、周、月。…

Neutron — 虚拟机网卡创建过程

目录 文章目录 目录创建并绑定虚拟机的虚拟网卡1、创建 VM 和 Port 记录2、创建 VM 和 Port 实体3、更新 Port 状态 创建并绑定虚拟机的虚拟网卡 在 OpenStack 中&#xff0c;Nova 负责虚拟机的生命周期管理&#xff0c;Neutron 负责虚拟网络的生命周期管理。而虚拟机的虚拟网…

Go语言定时任务

Go语言定时任务 robfig/cron 是Go语言实现的开源定时任务调度框架&#xff0c;核心代码是巧妙的使用chan select for实现了一个轻量 级调度协程&#xff0c;不但语法简洁&#xff0c;而且具有很好的性能。 Cron是Go中用于设置定时任务的一个库&#xff0c;需要注意的是&am…

el-form动态表单的校验问题

正常情况下&#xff0c;我们校验都是使用prop&#xff0c;他是对应着表单域 model 字段&#xff0c;这是必填的。但是在动态添加删除表单中&#xff0c;我们的数据可能是下面的&#xff1a; dynamicValidateForm: { company: , cardTotalNum: cardTotalMoney: , formRow: [ { …

Unity发布WebGL报错il2cpp.exe did not run properly

解决&#xff1a;路径中不能有任何中文&#xff0c;包括用户名都不能是中文 win10修改用户名为英文&#xff1a; 1、开启administrator账户。 1&#xff09;、右键我的电脑&#xff0c;选择管理。 2&#xff09;、本地用户和组—用户—Administrator 3&#xff09;、右键—属性…

分片架构,Redis Cluster 分析

分片架构解决的问题 通过堆机器&#xff0c;提升读写性能&#xff0c;与存储性能 分片架构设计要点 分片规则 选择Cardinality大的作为分片键&#xff0c;尽可能保证数据分布均匀 常见分片键&#xff1a; 基于主键&#xff08;业务型数据&#xff09;&#xff0c;基于时间…