Il debug di un'applicazione Flash crash
-
20-09-2019 - |
Domanda
Qual è il modo migliore per eseguire il debug di un'applicazione ARRESTO flash? (Non fa eccezione, la mia domanda solo crash) Sto privata era di fronte a un grosso problema: la mia applicazione (sito web full-flash) stava lavorando bene con il flashplayer 9 ma incidente con il flashplayer 10 ...
Ecco il metodo BAD che in crash la mia app con FP10. Dopo aver rimosso la chiamata a questo metodo tutto funzionasse correttamente con 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();
}
Ok, ho finalmente trovato il vero problema ... non era il metodo è di per sé. Stavo passando NaN per l'argomento "A" che causa un ciclo infinito ...
Soluzione
Hai provato a correre con il debugger? Impostare un punto di interruzione all'ingresso della vostra applicazione e poi scorrere fino a quando non si blocca. In questo modo puoi vedere quali riga di codice è responsabile e lo stato delle variabili. Naturalmente il vero problema potrebbe essere qualcosa che accade prima, ma almeno si è limitato la ricerca e la possibile rintracciare a ritroso.
Anche un altro modo è quello di mettere un po 'trace () dichiarazioni nel codice e vedere se la sezione sempre viene colpita. Quindi si può dire se accade prima o dopo e ripetere fino a trovare l'area del problema.