Question

Quelle est la meilleure façon de déboguer une application flash qui se brisent? (Pas d'exception, ma demande simplement tomber en panne) Je suis face à un gros problème actuellement: mon application (site flash complet) fonctionnait très bien avec le FlashPlayer 9 mais accident avec le flashplayer 10 ...

Voici la méthode BAD qui plantage de mon application avec FP10. Après avoir retiré l'appel à cette méthode, tout fonctionnait correctement avec 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, je l'ai trouvé le vrai problème finalement ... il n'a pas été la méthode en elle-même. Je repassais NaN pour l'argument « A » provoque une boucle infinie ...

Était-ce utile?

La solution

Avez-vous déjà essayé en cours d'exécution avec le débogueur? Définir un point d'arrêt à l'entrée de votre application, puis parcourir jusqu'à ce qu'il se bloque. De cette façon, vous pouvez voir quelle ligne de code est responsable et l'état des variables. Bien sûr, le problème réel pourrait être quelque chose qui se passe avant, mais au moins vous avez réduit votre recherche et pouvez tracer en arrière.

Aussi une autre façon est de mettre un peu d'instructions trace () dans votre code et voir si la section obtient jamais atteint. Ensuite, vous pouvez dire si sa se passe avant ou après et répéter jusqu'à ce que vous trouviez la zone de problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top