一个安卓编译器「Bug」引发的血案:调试时method中return语句不能断点问题排查...

news/2024/7/7 17:04:38

本周开发安卓时,遇到一个诡异的问题,如下图所示,在调试时部分语句无法执行到,更具体讲,就是method中前几个return语句无法执行到,每次在前面几个return语句要执行时,代码直接就跳到了方法的最后一个return处了,而且这几个return都被打了叉叉,表示无法断点

screenshot.png

如何排查?

第一反应自然是安装到真机上的APK包代码与IDEA里面看到的源码不一致

这个思路显然是对的,事实上,开发中经常会遇到APK安装代码与IDEA中代码不一致的情况

怎么验证这个猜想?很简单,在源码里面加上一些特定的调试代码,然后重新打包安装APK包试一下就行了。事实证明,问题没那么简单,病状依旧


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

相关文章

3隐形的指针

编译器会自动把结构体的地址,通过ecx传到函数内部隐藏创建的一个this指针上.如果我们的函数,没有返回值,没有使用结构体,编译器还会给我们传递进去吗?我们来验证一下.1.this指针是编译器默认传入的,通常会使用ecx进行参数的传递。2.无论函数有没有使用结构体中的数…

上传图片之截取图片当头像

今天同事问我,上传图片怎么对图片截当取头像,我想到很多应用,都有这功能 举个例子如图: 上面文字写的很明白双击呀,那就双击呗,普通的单击肯定不行 鼠标双击操作代码如下: ps:未封装哦&#xff…

外语学习方法

语言输入和语言输出是两个不同的通道!仅仅练习阅读和听力,你的口语不会又提高的,反之亦然! 例如,有的人可以阅读高深的学术论文,但是口语很差! ---- 深有体会!你 可能 现在 就 处于…

SpringInAction--自动化装配(显示装配之 java注解配置)

Spring在配置时候有三种方案可选 1、在xml中进行显示配置 2、在java中进行显示配置 3、隐式的Bean发现机制和自动装配 今天学习的 第二种—— 在java中进行显示配置 场景: 尽管在很多场景下通过组件扫描和自动装配实现Spring的自动化配置是更为推荐的方式,但有时候自…

分布式消息Kafka

Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: Kafka将消息以topic为单位进行归纳。 将向Kafka topic发布消息的程…

FastDFS+Nginx动态缩略

方案需求: 1、使用两台服务器,其中一台做tracker和storage,另一台仅仅做storage 2、在两台storage中进行轮巡存储,每台服务器设置一个group,分别为group1和group2 改文档中的环境,ip地址为: tra…

JS Ajax的error函数(转)

使用jquery的ajax方法向服务器发送请求的时候,常常需要使用到error函数进行错误信息的处理, 一般error函数返回的参数有三个: function(jqXHR jqXHR, String textStatus, String errorThrown)。常见调用代码如下: $.ajax({url: /H…

CentOS7安装Github+Maven+Jenkins

2019独角兽企业重金招聘Python工程师标准>>> 1. 安装Github git不上传空文件夹的解决办法: find . \( -type d -empty \) -and \( -not -regex ./\.git.* \) -exec touch {}/.gitkeep \; ## 安装工具 yum install curl-devel expat-devel gettext-devel …