Felsöka ett iPhone-program

Du felsöker programmet på utvecklingsdatorn medan programmet körs i ADL. Du kan också felsöka programmet på iPhone.

Viss AIR-funktionalitet som inte stöds i iPhone finns dock tillgänglig för testning av program där ADL används (på utvecklingsdatorn). Tänk på dessa skillnader när du testar innehållet på datorn. Mer information finns i ActionScript 3.0-API:er som inte stöds för mobilenheter .

Felsökning av program på utvecklingsdatorn

Så här felsöker du programmet på utvecklingsdatorn med Flash Professional CS5:

Välj Felsök > Felsök filmen > I AIR Debug Launcher (mobil).

Du kan också felsöka programmet genom att anropa ADL från kommandoraden. Så här ser syntaxen ut:

adl –profile mobileDevice appDescriptorFile

Ersätt appDescriptorFile med sökvägen till programbeskrivningsfilen.

Glöm inte att inkludera alternativet -profile mobileDevice .

Felsöka programmet på en iPhone

Så här felsöker du programmet på en iPhone:

  1. Kompilera programmet med felsökningsstöd:

  2. Installera programmet på en iPhone.

  3. På iPhone aktiverar du nätverksanslutningen och ansluter till samma nätverk som det där utvecklingsdatorn finns.

  4. Starta en felsökningssession på utvecklingsdatorn. Välj Felsök > Starta fjärrfelsökning > ActionScript 3.0 i Flash Professional CS5.

  5. Kör programmet på iPhone-enheten.

    I felsökningsversionen av programmet anger du IP-adressen för utvecklingsdatorn när du blir ombedd att göra det. Ange IP-adressen och peka på knappen OK. Så här tar du reda på IP-adressen för utvecklingsdatorn:

    • I Mac OS väljer du Systeminställningar i Apple-menyn. Klicka på nätverksikonen i fönstret Systeminställningar. I fönstret med nätverksinställningar visas IP-adressen.

    • I Windows startar du en kommandosession och kör kommandot ipconfig .

I felsökningssession visas eventuella trace() -utdata från programmet.

I Flash Professional CS5 finns alla felsökningsfunktioner för felsökning av program som är installerade på iPhone, med bland annat brytpunktskontroll, stegning igenom kod och variabelövervakning.

Felsöka med hjälp av diagnostikfunktionen för grafikprocessoråtergivning

Med diagnostikfunktionen för grafikprocessoråtergivning kan du se hur programmet använder maskinvaruacceleration (för program som använder grafikprocessoråtergivning). Om du vill använda den här funktionen kompilerar du programmet med PFI-verktyget i kommandoraden och inkluderar alternativet -renderingdiagnostics :

pfi -package -renderingdiagnostics -target ipa-debug -connect ...

Flaggan -renderingdiagnostics måste komma direkt efter flaggan -package .

Diagnostikfunktionen för grafikprocessoråtergivning visar färgade rektanglar för alla visningsobjekt:

  • Blått – Visningsobjektet är inte en bitmapp och är inte cachat som en bitmapp, och det håller på att återges.

    Om blått visas upprepade gånger för ett visningsobjekt som inte ändras kan det beror på att det överlappar visningsobjekt som rör sig. Visningsobjektet kan till exempel vara en bakgrund för visningsobjekt som rör sig. Det kan då vara en bra idé att cacha visningsobjektet som en bitmapp.

    Om blått visas för ett objekt som du anser ska cachas kan det bero på att objektet använder en effekt som grafikprocessorn inte kan hantera. Bland de effekterna finns vissa blandningslägen, färgomvandlingar, egenskapen scrollRect samt masker.

    Programmet visar även blått om visningsobjekt som överförs till grafikprocessorn överskrider minnesgränserna.

    Det loggas ett meddelande för varje blå rektangel. De här meddelandena matas ut tillsammans med övriga trace() - och felsökningsmeddelanden.

  • Grönt – Visningsobjektet är en bitmapp eller är cachat som en bitmapp, och det håller på att överföras till grafikprocessorn för första gången.

    Om grönt visas upprepade gånger för ett visningsobjekt återskapar koden i programmet visningsobjektet. Detta kan till exempel hända om tidslinjen återgår till en bildruta som skapar visningsobjektet. I så fall kan det vara en bra idé att ändra innehållet, så att identiska objekt inte återskapas.

  • Rött – Visningsobjektet är en bitmapp eller är cachat som en bitmapp, och det håller på att överföras till grafikprocessorn igen.

    Rött visas varje gång ett sådant visningsobjekt ändras på ett sätt som innebär att programmet måste återge bitmapprepresentationen igen. Ett 2D-objekt som inte har egenskapen cacheAsBitmapMatrix angiven återges till exempel igen när det skapas eller roteras. Dessutom sker en ny återgivning även när underordnade visningsobjekt flyttas eller ändras.

Varje färgad rektangel försvinner efter fyra skärmomritningscykler, förutsatt att orsaken till färgläggningen inte inträffar igen under de cyklerna. Om det inte finns några förändringar på skärmen ändras färgläggningen inte.

Som exempel kan vi ta ett bitmappsvisningsobjekt (en banan) framför en vektorbakgrund som inte cachas som en bitmapp. När bananen först återges blir den grön. När bakgrunden först återges blir den blå:

När bananen rör sig måste processorn återge bakgrunden igen, vilket medför att bakgrunden får en blå skuggning:

Den blå skuggningen över bakgrunden motsvarar omritade områden som måste skickas till grafikprocessorn.

Om bakgrunden däremot cachas som en bitmapp visar diagnostikfunktionen för grafikprocessoråtergivning ingen färgning när bananen rör sig:

Diagnostikfunktionen visar inga färgtoner eftersom grafikprocessorn har bakgrundsbitmappen. Grafikprocessorn kan skapa bananen med bakgrund utan processorn.

Anta nu att bananen är ett 2D-visningsobjekt som inte har egenskapen cacheAsBitmapMatrix angiven. Så snart visningsobjektet roteras (eller skalas) visar diagnostikfunktionen för återgivning rött. Detta anger att programmet måste överföra en ny version av visningsobjektet till grafikprocessorn: