Quel est un moyen simple de voir la sortie trace()
des films Flash/Flex lors de l'exécution dans n'importe quel navigateur?
Téléchargez et installez version de débogage de contenu de Flash Player .
Activez la journalisation des traces ( guide officiel ) en ajoutant un fichier mm.cfg:
ErrorReportingEnable=1
TraceOutputFileEnable=1
Où enregistrer mm.cfg dépend du système d'exploitation:
/Library/Application Support/Macromedia
%HOMEDRIVE%\%HOMEPATH%
/home/user name
Le fichier journal, flashlog.txt, se trouve à l'adresse suivante:
C:\Documents and Settings\username\Application Data\Macromedia\Flash Player\Logs
C:\Users\username\AppData\Roaming\Macromedia\Flash Player\Logs
/Users/username/Library/Preferences/Macromedia/Flash Player/Logs/
/home/username/.macromedia/Flash_Player/Logs/
En option, vous pouvez installer le module complémentaire Firefox FBTracer qui affiche la sortie de trace dans un panneau Firebug .
j'utilise simplement la fonction console.log (les navigateurs les plus récents l'implémentent);
import flash.external.ExternalInterface;
public static function log(msg:String, caller:Object = null):void{
var str:String = "";
if(caller){
str = getQualifiedClassName(caller);
str += ":: ";
}
str += msg;
trace(str);
if(ExternalInterface.available){
ExternalInterface.call("console.log", str);
}
}
Découvrez MonsterDebugger de De Monster. Vous pouvez déboguer les objets de suivi, les traces et les chaînes d'affichage dans une jolie application AIR. Très amusant à utiliser. Et c'est open source!
Vous pouvez également configurer Flash et Flex pour écrire dans un fichier journal. Découvrez comment procéder ici:
http://livedocs.Adobe.com/flex/3/html/help.html?content=logging_04.html
J'ai utilisé Monster récemment, mais j'avais un alias qui exécutait une "queue" Unix sur le fichier flashlog qui me donnerait effectivement une fenêtre de journalisation pour le traçage "dans le navigateur":
alias flashlog='tail -f /PATH/TO/flashlog.txt'
Ou si vous avez une visionneuse de journaux (comme Console sur Mac OS), vous pouvez y consulter le journal. La seule raison pour laquelle je suggère ces options est que FlashTracer est assez "planté";)
Vizzy vous facilite la vie si vous voulez une visionneuse de fichier journal de base. Vous installez simplement le lecteur de débogage, puis installez Vizzy. Il s'agit d'une fenêtre contenant le fichier flashlog. La bonne chose est que tout le fichier mm.cfg est b.s. pour vous.
Probablement pas aussi sophistiqué que les autres ou tranchant, mais j'avais l'habitude de créer ma propre fonction de journalisation dans le film flash (assez drôle, appelée journal) qui appelait trace et appelait également une fonction js sur la page (en utilisant la méthode qui vous convient ). La fonction sur la page n'était qu'un simple console.log () avec Firebug. Simple et travaillé un régal.
Je suis un utilisateur heureux Thunderbolt , cela vaut peut-être aussi le coup d'œil (plusieurs niveaux de journal, joue bien avec Firebug hors de la boîte).
La commande Unix tail
fonctionne bien pour moi:
tail -f ~/Library/Preferences/Macromedia/Flash\ Player/Logs/flashlog.txt
Le -f
switch maintient le journal ouvert et le place via stdout dans une fenêtre Terminal ouverte. Ceci est une solution Mac, je ne sais pas quel est l'équivalent de Windows tail
.
Notez que le chemin est basé sur ce document , publié ci-dessus par @Jarvis.
Étant donné que macromedia a été acquis par Adobe, je pensais que cela devrait être `` D:\Documents and Settings\nom_utilisateur\Application Data\Adobe\Flash Player\Logs\flashlog.txt ''. pour essayer de regarder D:\Documents and Settings\nom_utilisateur\Application Data\Macromedia\Flash Player\Logs\flashlog.txt et bingo, je pouvais voir les sorties flash trace ().
Je me demande pourquoi Adobe garde toujours l'emplacement du fichier journal dans le dossier macromedia. Quoi qu'il en soit, je peux voir les traces des applications flash s'exécuter dans un navigateur et je suis un homme heureux :)
Dans Windows, si vous utilisez une version localisée (c'est-à-dire espagnole) du système d'exploitation, 'Application Data' doit être remplacé par la version localisée (c'est-à-dire "Datos de programa")