调试CRASHING Flash应用程序的最佳方法是什么? (没有例外,我的应用程序崩溃了) 我实际上面临一个大问题:我的应用程序(全闪存网站)与flashplayer 9工作正常,但与flashplayer 10崩溃...
这是使用FP10使我的应用程序崩溃的BAD方法。 删除对此方法的调用后,所有内容都与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();
}
好吧,我最终找到了真正的问题......这不是自己的方法。
我正在通过NaN获取“A”参数,导致无限循环......
答案 0 :(得分:2)
您是否尝试使用调试程序运行它?在应用程序的条目处设置断点,然后逐步执行它直到崩溃。这样您就可以看到哪行代码负责以及变量的状态。当然,实际问题可能是事先发生的事情,但至少你已经缩小了搜索范围并且可以向后追踪。
另一种方法是在代码中放入一些trace()语句,看看该部分是否被命中。然后您可以判断它是在事件发生之前还是之后发生,然后重复,直到找到问题区域。