Ver trace() de Flash cuando se ejecuta en el navegador
actionscript debugging (9)
Como macromedia fue adquirida por adobe, pensé que debería ser ''D: / Documents and Settings / user_name / Application Data / Adobe / Flash Player / Logs / flashlog.txt''. Lo que me devolvió la pérdida de unos minutos. Finalmente decido para intentar ver D: / Documents and Settings / user_name / Application Data / Macromedia / Flash Player / Logs / flashlog.txt y bingo, podría ver los resultados de la memoria flash trace ().
Me pregunto por qué adobe mantiene la ubicación del archivo de registro en la carpeta macromedia. Sea lo que sea, puedo ver el seguimiento de las aplicaciones flash ejecutadas dentro de un navegador y soy un hombre feliz :)
¿Cuál es una manera fácil de ver el resultado de trace()
de las películas Flash / Flex cuando se ejecuta en cualquier navegador?
Descargue e instale la versión del depurador de contenido de Flash Player .
Habilite el registro de seguimiento ( guía oficial ) agregando un archivo mm.cfg:
ErrorReportingEnable=1
TraceOutputFileEnable=1
Dónde guardar mm.cfg depende del sistema operativo:
- Mac OS X:
/Library/Application Support/Macromedia
- Windows:
%HOMEDRIVE%/%HOMEPATH%
- Linux:
/home/user name
El archivo de registro, flashlog.txt, se puede encontrar en:
- Windows 95/98 / ME / 2000 / XP:
C:/Documents and Settings/username/Application Data/Macromedia/Flash Player/Logs
- Windows Vista:
C:/Users/username/AppData/Roaming/Macromedia/Flash Player/Logs
- Mac OS X:
/Users/username/Library/Preferences/Macromedia/Flash Player/Logs/
- Linux:
/home/username/.macromedia/Flash_Player/Logs/
Opcionalmente, puede instalar el complemento FBTracer de FBTracer que muestra el resultado del rastreo en un panel de Firebug .
El comando tail
de Unix funciona bien para mí:
tail -f ~/Library/Preferences/Macromedia/Flash/ Player/Logs/flashlog.txt
El -f
mantiene el registro abierto y lo dirige a través de stdout a una ventana de terminal abierta. Esta es una solución de Mac, no estoy seguro de cuál es el equivalente de la tail
Windows.
Tenga en cuenta que la ruta se basa en este documento , publicado anteriormente por @Jarvis.
En Windows, si usa una versión localizada (es decir, español) del sistema operativo, ''Application Data'' debe reemplazarse con la versión localizada (es decir, "Datos de programa")
Mira MonsterDebugger de De Monster. Puede depurar objetos de seguimiento, trazas y cadenas de visualización en una encantadora aplicación de AIR. Muy divertido de usar ¡Y es de código abierto!
También puede configurar Flash y Flex para escribir en un archivo de registro. Mira cómo hacer eso aquí:
http://livedocs.adobe.com/flex/3/html/help.html?content=logging_04.html
He estado usando Monster últimamente, pero solía tener un alias que ejecutaba una "cola" de unix en el archivo de flashlog que efectivamente me daba una ventana de registro para el rastreo "en el navegador":
alias flashlog=''tail -f /PATH/TO/flashlog.txt''
O si tiene un visor de registro (como Console en Mac OS), puede ver el registro allí. La única razón por la que sugiero estas opciones es que FlashTracer es bastante "crashy";)
Probablemente no tan elegante como los otros o de vanguardia, pero solía crear mi propia función de registro en la película flash (curiosamente, llamado registro) que llamaba trace y también llamaba a una función js en la página (usando cualquier método que ) La función en la página era simplemente un simple console.log () con Firebug. Simple y trabajado un regalo.
Soy un usuario feliz de Thunderbolt , tal vez también vale la pena verlo (niveles de registro múltiples, juega muy bien con Firebug).
Vizzy te hace la vida más fácil si quieres un visor básico de archivos de registro. Simplemente instala el reproductor de depuración y luego instala Vizzy. Es una ventana que une el archivo de flashlog. Lo dulce es que hace todo el archivo mm.cfg bs por ti.
solo uso la función console.log (los navegadores más recientes lo implementan);
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);
}
}