且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-08-14 10:03:18

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

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

如何排查?

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

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

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