czwartek, 17 maja 2007

Trace() i debugowanie.

Programistom Flex 2 SDK czasami przeszkadza brak wizualnej reprezentacji komunikatów typu trace(); Otóż trzeba najpierw wyinstalować FlashPlayera 9 i zainstalować wersję Debug Flash Playera. Potem sprawdzić czy ma się plik C:\Documents and Settings\username\mm.cfg, jeśli go nie ma, to należy go utworzyć z następującą treścią

TraceOutPutFileName=C:\Documents and Settings\username\Dane aplikacji\Macromedia\Flash Player\Logs\flashlog.txt
ErrorReportingEnable=1
TraceOutputFileEnable=1
MaxWarnings=50

Sprawdzamy czy mamy plik gdzie trzymamy logi FlashPlayera. Jak go nie mamy to go tworzymy jako pusty plik tekstowy. Następnie instalujemy wtyczkę FlashTracer do Firefoxa.
Po zainstalowaniu klikamy w menu Narzędzia u FF i wybieramy "FlashTracer Alt+A" i pojawi się panel z boku. Wybieramy 'Options' i sprawdzamy czy ścieżka do logów jest poprawna.
Jeśli nie to poprawiamy na ścieżkę podaną w pliku mm.cfg.

Jaki jest z tego "morał"? Że, należy oczyścić pliki SWF z komend trace(); jak opublikuje się na stronie. Zbyt dużo informacji zostawiają programiści w kodzie co może okazać się niebezpieczne ze względów bezpieczeństwa. Może się zdarzyć że są tam hasła lub adresy URL wrażliwe na działania hackingu.

4 komentarze:

Jan K pisze...

a najlepiej korzystać z Logging API, gdzie defniujemy poziomy logowania :)

ps. fajna wtyczka

Unknown pisze...

Tak jak Janek - dobre API do logowania to podstawa, jest w sieci sporo narzędzi - przede wszystkim pod as2, ale ponieważ nie są to zbyt rozbudowane twory łatwo toto sobie pod flexa przepisać. Ostatnio Edicapo podesłał fajny link do gotowego narzędzia.

BTW. Ja używam FireBuga - sprawdza się do wszystkiego: css, html, js, as...

Jan K pisze...

o, też mam firebuga i nie wiedziałem, że do as się nadaje ;)

maliboo pisze...

Ja tez mam fajerbaga ;)