Pregunta

¿Cuál es la mejor forma de depurar una aplicación CRASH flash? (No es una excepción, mi solicitud sólo para dormir) Estoy frente a un gran problema podía comprender: mi aplicación (web-full flash) estaba trabajando bien con el reproductor flash 9, pero con el reproductor flash crash 10 ...

Este es el método BAD que tienen un accidente con mi aplicación FP10. Después de la eliminación de la llamada a este método todo estaba funcionando correctamente 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();
        }

Bueno, he encontrado finaly el verdadero problema ... que no era el método en si mismo. Yo estaba pasando NaN para el argumento "A" causando un bucle infinito ...

¿Fue útil?

Solución

¿Ha intentado ejecutarlo con el depurador? Establecer un punto de interrupción en la entrada de su aplicación y luego paso a través de él hasta que se bloquea. De esta manera usted puede ver qué línea de código es responsable y el estado de las variables. Por supuesto, el problema real podría ser algo que sucede antes, pero al menos que haya reducido su búsqueda y puede rastrear hacia atrás.

También otra forma de hacerlo es poner un poco de sentencias trace () en el código y ver si el sector cada vez es golpeado. A continuación, se puede saber si su ocurra antes o después y repetir hasta que encuentre el área del problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top