충돌하는 플래시 애플리케이션 디버깅
-
20-09-2019 - |
문제
충돌하는 플래시 앱을 디버깅하는 가장 좋은 방법은 무엇입니까? (예외적으로, 내 응용 프로그램이 충돌합니다) 나는 큰 문제에 직면하고 있습니다 : 내 앱 (Full-Flash 웹 사이트)은 FlashPlayer 9에서 잘 작동했지만 FlashPlayer 10과 충돌했습니다 ...
다음은 FP10과 함께 내 앱을 충돌시키는 나쁜 방법입니다. 이 메소드에 대한 호출을 제거한 후 FP10과 함께 모든 것이 제대로 작동했습니다.
public static function drawWedgeCrown(g : Graphics,a : Number,r : Number,r2 : Number, n : Number, c : Number, t : Number) : void {
var x : Number ;
var y : Number;
g.beginFill(c, t);
g.moveTo(r, 0);
g.lineTo(r, 0);
var teta : Number = 0;
var dteta : Number = 2 * Math.PI / n;
while(teta < a) {
x = r * Math.cos(teta);
y = -r * Math.sin(teta);
g.lineTo(x, y);
teta += dteta;
}
x = r * Math.cos(a);
y = -r * Math.sin(a);
g.lineTo(x, y);
x = r2 * Math.cos(a);
y = -r2 * Math.sin(a);
g.lineTo(x, y);
teta = a;
dteta = 2 * Math.PI / n;
var cpt : int = 0;
while(teta > 0) {
cpt++;
x = r2 * Math.cos(teta);
y = -r2 * Math.sin(teta);
g.lineTo(x, y);
teta -= dteta;
}
x = r2 * Math.cos(0);
y = -r2 * Math.sin(0);
g.lineTo(x, y);
g.lineTo(r, 0);
g.endFill();
}
좋아, 나는 결승에 진짜 문제를 발견했다 ... 그것은 자기 자신의 방법이 아니었다. 나는 무한 루프를 일으키는 "A"논쟁을 위해 Nan을지나 가고 있었다 ...
해결책
디버거로 실행 해 보셨습니까? 앱 입력시 중단 점을 설정 한 다음 충돌 할 때까지 단계를 밟습니다. 이렇게하면 어떤 코드 라인이 책임이 있고 변수의 상태를 확인할 수 있습니다. 물론 실제 문제는 이전에 발생하는 일일 수 있지만 적어도 검색을 좁히고 뒤로 추적 할 수 있습니다.
또한 또 다른 방법은 코드에 약간의 Trace () 문을 넣고 섹션에 맞는지 확인하는 것입니다. 그런 다음 문제 영역을 찾을 때까지 전후에 발생하는지 알 수 있고 반복 할 수 있습니다.
제휴하지 않습니다 StackOverflow