실행되는 내용이 기능상으로 잘못 표시되는 것은 아니지만, 한시간 내 코드를 증명하는 데 시간을 낭비하고 컴파일러가 예상 한대로 수행하고 있습니다. Android Studio 디버거가 잘못된 라인을 강조 표시합니다.
이 코드 고려해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;
}
int theAnswer = getAnswer(6);
브레이크 포인트로 호출을 코드를 실행하기 전에하고, 시도하고 결과를 예측하고, 따라서 어떤 라인이 될 것이다 return
를 포함하는 라인의 양쪽 히트.
내 질문의 음색에서 알 수 있듯이 잘못된 선이 강조 표시되지만 올바른 결과가 반환됩니다. 코드를 단계별로 실행하면 꽤 많이 춤을 추게됩니다.
다르게 구성하여 올바른 줄을 표시 할 수있는 항목이 있습니까? (나는 최신 안드로이드 스튜디오를 사용하고 있는데, 이는 불안정 할 수 있지만, 필자는 이클립스에서 비슷한 동작을 본 적이 있음을 확신하지만, 그 시간을 추적하지는 못했을 것이다. 아마도 자바 일 것이다) .
감사합니다. 부끄러운이 dx는 "최적화"디버그 모드에서 disbled 수 없습니다. –
최적화가 아닙니다. Dalvik VM의 바이너리 형식입니다. Android에서는 직접 .class 파일을 실행할 수 없습니다. –
DX 자체가 아닙니다. 소스 코드에서와 같이 여러 개의 반환 지시를 작성할 수 없다는 뜻입니까? –