在执行的内容方面我看不出任何功能上的错误,但是我浪费了一个小时证明我的代码并且编译器正在做他们应该做的事情.
考虑以下代码:
public int getAnswer(int a) {
int retval = 18;
int x = 25;
int y = 50;
while (a-- > 0) {
if (a == 3) {
retval = a;
return retval;
}
}
x = 10;
y = 20;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
叫着
int theAnswer = getAnswer(6);
Run Code Online (Sandbox Code Playgroud)
断点包含return和运行代码之前的两行,尝试预测结果,从而命中哪一行.
正如您可能从我的问题的基调中想象的那样,突出显示错误的行,但返回了正确的结果.如果您单步执行代码,它会在很多方面跳舞.
有没有可以配置不同的东西,以便显示正确的行?(我正在使用最新的Android Studio,我很欣赏它可能不稳定,但我确信我曾经在Eclipse上看过类似的行为,但我从来没有花时间跟踪它;也许它是一个java的东西) .
我将调试器连接到我的模拟器,构思控制台说:
Connected to the target VM, address: localhost:8612,transport:`socket`
Run Code Online (Sandbox Code Playgroud)
但是,当我想测试我的应用程序时,它不会在Break points中停止!看到这个屏幕截图:

还有这个 :

我用模拟器和物理设备测试它,还重建项目,并重新启动想法!但不起作用.