Exclusive Freebie: Tr.ace (), en utmerket AS3 Debugging Utility
Del
Del
5
Del
Dette Cyber mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av
Dette innlegget er en del av en serie som heter Hvordan fikse bugs i Flash.Quick. Tips: Motta Output i nettleseren ved hjelp av Flash TracerQuick-Tip: Kaster feil Clean Way
Vi har fått annen Activetuts + Exclusive Freebie for deg! Denne gangen, Matt Stuttard (aka MSFX) tilbyr deg sin splitter nye debugging verktøy, Tr.ace (), som legger noen svært nyttige ekstrafunksjoner til Flash er trace () -funksjonen. Les videre for å finne ut mer, og for å laste ned din kopi.
Tra.ce 2.0 er ute! Få det her.
Alle utviklere bruke noen form for sporing som en løs metode for debugging på et tidspunkt mens utvikle sine søknader. Problemet med sporings uttalelse innen AS3 er skjønt at det er ganske begrenset. Hvis du jobber i et team er det mulig du har ingen anelse om hvem som er sporløst, er hvem eller hvor noen av sporene kommer fra, og det er ingen automatisert formatering til å skille spor fra ulike brukere og klasser!
Ville det ikke være fantastisk om du kunne begrense programmenes spor uttalelser til bestemte klasser eller bestemte brukere, eller helt ignorere spor fra bestemte brukere eller klasser til sammen?
Ville det ikke være flott å ha en liten mer kontroll over formateringen av dine spor, slik at du ville vite hvem spores det, klassen er det spores fra, og tiden sporingen ble henrettet?
Hva med muligheten til å legge automatiske linjeskift mellom hvert spor, og pent spore opp komplekse, nestede Arrays og objekter, alt mens automatisk kopiere utgang til utklippstavlen?
Velkommen til Tr.ace ()!
Nedlasting Tr.ace ()
Tr.ace () er en åpen kildekode-bibliotek som er tilgjengelig for nedlasting her på Activetuts + i ZIP-format, og er også tilgjengelig som en offentlig register på min GitHub for de som er litt mer nerdete eller som ønsker å gaffel og /eller bidra til Tr.ace () bibliotek
Biblioteket er AS3-bare, og har to separate repositories:.. en for Flash Player 9 og en for Flash Player 10 +
Tra.ce 2.0 er ute! Få det her.
Hvis du vil bruke Tr.ace () bibliotek må du laste ned og pakke ut en av de ovennevnte kildepakkene, og deretter kopiere 'uk-katalogen, som ligger innenfor "src" katalog, inn global klassebane katalogen. Du er da klar til å gå!
(Eventuelle problemer? Sjekk ut denne omfattende guide til å bruke en ekstern biblioteket i Flash-prosjekter.)
Konfigurering Tr.ace ()
Først litt teori og forklaring.
Tr.ace () er et bibliotek med fokus på sporing. 'Tr' er den viktigste klasse og 'ess ()' er en funksjon av Tr klasse, derav navnet bibliotek Tr.ace ().
Navnet biblioteket illustrerer også bibliotekets bruk. Som "Tr" er en statisk klasse du ikke trenger å opprette en forekomst av det å bruke sine funksjoner eller konfigurere noen av innstillingene; du bare bruker Tr.whateverTheValue eller Tr.whateverTheFunction ().
Til slutt, fordi det interne arbeidet i biblioteket bruke Singleton Design Pattern, noen av innstillingene du søke Tr.ace () kun trenger å påføre en gang i programmet - Jeg vil foreslå innen Document /Main Class
Det er to versjoner av biblioteket, en for Flash Player 9 og en for Flash Player 10 og oppover.. Den eneste forskjellen (for tiden) er at Flash Player 10-versjonen støtter automatisk kopiering til utklippstavlen.
Lar nå ta en titt på noen av disse innstillingene (følgende er utdrag fra ExampleMain.as Som du skal kunne se fra eksemplene ovenfor er det lett å raskt skreddersy din utgang til enten begrense produksjonen til bare å være fra bestemte brukere eller klasser, eller til ignorere Som eksemplene nedenfor viser også, det er veldig enkelt å veksle linjeskiftene, tidsstempler og kopiering til utklippstavlen (FP10 only). Du kan også veldig enkelt bytte sporing av alle sammen Kan nå ta en rask titt over tilgjengelige funksjoner innenfor Tr.ace () bibliotek. Tr.ace ( ...) funksjonen krever tre parametere:. output, brukernavn og klassen som spores fra Alle disse tre parametrene er nødvendig, slik at biblioteket for å begrense eller ignorere spor fra bestemte brukere eller klasser; hvis du er bekymret for dette tar lengre tid å skrive enn en vanlig spor kan du pakke den opp som en kodebit i din favoritt IDE -. mer senere Tr.aceArray (...) funksjonen krever tre parametere: Array, brukernavnet og den klassen som spores fra Alle disse tre parametrene er nødvendig, å tillate. biblioteket for å begrense eller ignorere spor fra bestemte brukere eller klasser; hvis du er bekymret for dette tar lengre tid å skrive enn en vanlig spor kan du pakke den opp som en kodebit i din favoritt IDE -. mer senere Tr.aceMulti (...) funksjonen krever en mimimum av tre parametere: brukernavn, blir klassen spores fra og et ubegrenset liste over argumenter (separert via komma) for å spore ute. Merk at disse parametere er i en annen rekkefølge enn i de andre funksjonene Alle disse tre parametere er nødvendig, for å tillate biblioteket for å begrense eller å ignorere spor fra bestemte brukere eller klasser.; hvis du er bekymret for dette tar lengre tid å skrive enn en vanlig spor kan du pakke den opp som en kodebit i din favoritt IDE -. mer senere Tr.aceObject (...) funksjonen krever tre parametere:. objektet, brukernavn og klassen som spores fra Alle disse tre parametrene er nødvendig, slik at biblioteket for å begrense eller ignorere spor fra bestemte brukere eller klasser; hvis du er bekymret for dette tar lengre tid å skrive enn en vanlig spor kan du pakke den opp som en kodebit i din favoritt IDE -. mer senere Du har kanskje lagt merke til flere eksisterende brukernavn innenfor Tr.ace () bibliotek som TrUsers.DEFAULT og TrUsers.MSFX i eksemplene ovenfor. For å fjerne muligheten for skrivefeil det anbefales at du legger inn navn som en statisk Constant til Tr.ace () Library som med eksisterende brukernavn. Hvis du vil legge deg til biblioteket, åpner 'TrUsers .as 'fil som ligger på' uk /msfx /utils /Tracing /brukere /TrUsers.as '. Legg ditt eget brukernavn som en public static konstant til bunnen av listen, og du er klar til å gå! Twitter /** * Ditt brukernavn! * /public static konst MATT: String = "Matt"; Selv Tr.ace () gir mange fordeler i forhold til å bruke den vanlige trace ( ) uttalelse innen Flash det er ganske mye mer å skrive, noe som potensielt kan forsinke din utvikling. Tast inn kodesnutter kodesnutter er akkurat hva du skulle tro. Automatisk-innsatte kodebiter. De fleste IDE, om ikke alle, støtte dem og de få fart på utviklingen som du er Supermann. Jeg bruker FlashDevelop (og du bør også!) Så la oss raskt ta en titt på å legge til en ny kodebiten for Tr.ace (). Kodebiten skal kunne brukes uansett hvor du velger å legge den til din applikasjon med så små justeringer som mulig. Med Tr.ace () må du oppgi både bruker sporing og klasse spores fra sammen med utgang. Brukeren er lett nok til å bryte opp i kodebiten siden det vil trolig ikke endres ofte; men det er sannsynlig at vi vil spore fra forskjellige klasser ganske ofte. Derfor, i stedet for inn i klassen manuelt hver gang, kan vi bruke en enkel kodebit å returnere klassen vi spore fra automatisk. Jeg utførte noen tester ved hjelp Grant Skinners Resultater Harness på ulike tilnærminger for å oppnå dette og fant metoden nedenfor for å være den mest effektive (annet enn å bruke selve klassen navnet selv). Du kan finne resultatene innenfor src. Hvis du bruker FlashDevelop, åpne kodesnutter Panel og klikk "Legg til" for å opprette en ny tekstutdrag. (Det er bundet til å være en lignende menyvalg i hva IDE du bruker.) Legg til en ny tekstutdrag og kalle det hva du vil (jeg brukte 'st') og legge hoveddelen til biten - med din eget brukernavn selvfølgelig. Objekt (denne) .constructor returnerer klasse som funksjonen kalles, uansett hvor du går inn denne linjen i prosjektet. Kodebit komplett! For å bruke biten i FlashDevelop, bare trykke Ctrl + B, type "tr" og trykk Enter. Deretter skriver du inn det du ønsker å spore. Innenfor nedlastingspakken finner du en "docs selgere, åpne 'index .html 'fil for å vise ASDocs-generert Dokumentasjon for Tr.ace (). Du kan også finne dokumentasjonen på nettet:.! Http://docs.msfx.co.uk/as3/trace/ Så, det er det virkelig. Hvis du har spørsmål eller forslag til biblioteket gjerne komme i kontakt i kommentarfeltet. Glad Tracing! Anmeldelser
, som kan finnes i src katalogen):
//begrense spor utgang (e) til bare "ExampleClass2 'Class Tr.restrictToClasses = [ExampleClass2]; //Ignorere spor utgang (s) fra "ExampleMain 'Class bare Tr.ignoreClasses = [ExampleMain]; //Begrense spor utgang (e) fra brukerens MSFX "bare Tr.restrictToUsers = [TrUsers.MSFX]; //Ignorere spor utgang (e) fra brukerens MSFX "bare Tr.ignoreUsers = [TrUsers.MSFX];
produksjonen fra bestemte brukere eller klasser.
//viser tiden med hver trase Tr.useTimeStamp = sant.; //Kopiere spor utgang til utklippstavlen (ikke IDE debugging - FP10 only) Tr.copyToClipboard = true; //Legger linjeskift mellom hver utgang Tr.useLineBreaks = true; //Bryter sporing av helt Tr.off = true;
Tr.ace (...)
//A String som utgang fra brukeren MSFX innenfor Klasse Classname '.Tr.ace ("her er output", TrUsers.MSFX, Classname); //Summen av flere tall som output fra brukeren STANDARD innenfor Klasse AnotherClassName'.Tr.ace (((1 + 2,5 + 6,999) * 12), TrUsers.DEFAULT, AnotherClassName); //Tracing en variabel som utgang fra brukeren MSFX innenfor Klasse YetAnotherClassName'.Tr.ace ("variable lik:" + variabel, TrUsers.MSFX, YetAnotherClassName);
Tr.aceArray (... )
//A String som utgang fra brukeren MSFX innenfor Klasse Classname '.Tr.aceArray ("her er output", TrUsers.MSFX, Classname); //Summen av flere tall som output fra brukeren STANDARD innenfor Klasse AnotherClassName'.Tr.aceArray (((1 + 2,5 + 6,999) * 12), TrUsers.DEFAULT, AnotherClassName);
Tr. aceMulti (...)
//A String som utgang fra brukeren MSFX innenfor Klasse Classname '.Tr.aceMulti ("her er output", TrUsers.MSFX, Classname); //Summen av flere tall som output fra brukeren STANDARD innenfor Klasse AnotherClassName'.Tr.aceMulti (((1 + 2,5 + 6,999) * 12), TrUsers.DEFAULT, AnotherClassName);
Tr. aceObject (...)
//A String som utgang fra brukeren MSFX innenfor Klasse Classname '.Tr.aceObject ("her er output", TrUsers.MSFX, Classname); //Summen av flere tall som output fra brukeren STANDARD innenfor Klasse AnotherClassName'.Tr.aceObject (((1 + 2,5 + 6,999) * 12), TrUsers.DEFAULT, AnotherClassName);
legge til brukere til Tr.ace () Library
Bruke Tr.ace () Med kodesnutter
Dokumentasjon for Tr.ace ()
Glad Tracing