编译器失败 - 配置错误?

时间:2017-12-16 15:42:51

标签: java android

现在第二次我可能在某处发生了错误的配置。

private int calcTrackIndex(long pos){
    for(int i=0;i<=positions.length;i++){
        if(positions [i]>pos)return i-1; //one too far
    }
    return 0;
}

此函数突然开始返回-1,因为position []数组以0开头不能发生。调试半小时后,我注意到调试器“跳过”了第三行。我做了“清理项目” - “重建项目”,一切都很好。

为什么会发生这种情况?如何防止这种情况发生?使用“运行”和“调试”按钮将此错误发布到不同的仿真器和设备。

发生这种情况时,调试器不再与代码同步。通过使用“debug”按钮重新启动调试无法解决此问题,只有clean-rebuild有帮助。

enter image description here 调试器不同步,它选择代码中不存在的行。

1 个答案:

答案 0 :(得分:0)

  

调试半小时后,我注意到调试器&#34;跳过&#34;第三行。我做了#34;清理项目&#34; - &#34;重建项目&#34;一切都很好。

     

为什么会发生这种情况?如何防止这种情况发生?

如果尚未从最新版本的代码重建已编译的.class文件,则会发生这种情况。这些编译文件包含调试器正在使用的代码的先前版本中的行信息。

如您所见,您可以通过强制重建代码来解决问题。这可确保编译的代码与您在Android Studio中编辑的代码相匹配。