Ladění iOS aplikací nejen v Xcode [For Mobile červen 2013]

  • Published on
    23-Jun-2015

  • View
    1.882

  • Download
    0

Embed Size (px)

DESCRIPTION

Ladn prost pat k vvoji, mnoz vak tuto innost dlaj velice neradi a Xcode nm to pli nezpjemuje. Pijte se nauit sprvn zachzet s vyjmkami, vyznat se se vpisech stack fram, pouvat jin nstroje ne Xcode a celkov efektivn ladit programy.

Transcript

<ul><li> 1. Ladn iOS aplikacnejen v Xcode@kubabreckaiosak.cz</li></ul> <p> 2. LLDB! Pokus Applu udlat GDB znovu a lpe! Xcode pouv LLDB bhem ladn! vechno, co jde udlat v Xcode, jde udlat i z pkazovkonzole 3. Zklady ladn! breakpoints! watchpoints! exception breakpoint! printf, NSLog! konzole LLDB! po 4. Klvesov zkratky! Vchoz:! build Cmd+B! run Cmd+R! stop Cmd+.! show/hide console Cmd+Shift+Y! zloky vlevo Cmd+1, Cmd+2, ! Zmte si:! step into F11! step over F10! run/pause F5! step out Shift+F11 5. Jak zkrotit vjimku?! Nen vjimka jako vjimka! NSException @throw! C++ vjimka throw! Vjimka procesoru EXC_ARITHMETIC! Signl SIGBUS 6. Co je to za vjimku?! Vybrat prvn frame na stacku! po $eax / po $r0 7. Nebojte se cizch stack fram 8. Kdy chytit vjimku?! on throw! on catch! u je pozd, nemme stack trace! nejradji bychom on throw if will not be caught 9. Zombie objects! K nezaplacen pi ladn pokozen pamti! Signalizace:! EXC_BAD_ACCESS! vjimky v bnch funkcch objc_retain, objc_release! unrecognized selector sent to instance! obsah promnnch nedv smysl 10. Guard Malloc! Detekce pokozen pamti! buer overrun! double-free! Alokuje objekty do samostatnch strnek! Pi dealokaci! kontroluje okol objektu! strnku fyzicky zneplatn 11. Retain loops! Signalizace:! Stle se zvyuje pamov zt procesu! Instruments Leaks 12. po! po $eax! po self! po [[UIApplication sharedApplication] keyWindow]! po [self.view recursiveDescription] 13. Breakpointy! dek v kdu! metoda (i ciz)! b -[UIView setFrame:]! selektor (pro libovoln object)! breakpoint set S initWithFrame: 14. Breakpointy! Breakpoint actions! Breakpoint conditions! Watchpoints 15. LLDB command-line! Persistent objects! po $0 = object! nemn retain count (!)! p, po, expr 16. UI hierarchie! Reveal.app! Spark Inspector 17. Live modify! Cycript! superDB 18. Novinky v Xcode 5! Debug Gauges! Visualizations! Data formatters! Summaries, synthetic children! v Pythonu 19. Ponauen! Ladc arzenl je velk! Vas poznejte, kdy ladnm ztrcte pli mnoho asu! Chyb vm njak nstroj/postup pro ladn? Vytvote siho!! - (void)description { }! Jste v koncch? Napite mi J 20. Otzky? 21. Otzky?Dkuji za pozornost.Kuba Beka@kubabreckakubabrecka.comiosak.cz</p>