Ladění prostě patří k vývoji, mnozí však tuto činnost dělají velice neradi a Xcode nám to příliš nezpříjemňuje. Přijďte se naučit správně zacházet s vyjímkami, vyznat se se výpisech stack framů, používat jiné nástroje než Xcode a celkově efektivně ladit programy.
12. Kdy chytit výjimku?
! “on throw”
! “on catch”
! už je pozdě, nemáme stack trace
! nejraději bychom “on throw if will not be caught”
13. Zombie objects
! K nezaplacení při ladění poškození paměti
! Signalizace:
! EXC_BAD_ACCESS
! výjimky v “běžných” funkcích … objc_retain, objc_release
! “unrecognized selector sent to instance”
! obsah proměnných nedává smysl
14. Guard Malloc
! Detekce poškození paměti
! buffer overrun
! double-free
! Alokuje objekty do samostatných stránek
! Při dealokaci
! kontroluje okolí objektu
! stránku fyzicky zneplatní
22. Novinky v Xcode 5
! Debug Gauges
! Visualizations
! Data formatters
! Summaries, synthetic children
! v Pythonu
23. Ponaučení
! Ladící arzenál je velký
! Včas poznejte, kdy laděním ztrácíte příliš mnoho času
! Chybí vám nějaký nástroj/postup pro ladění? Vytvořte si
ho!
! - (void)description { … }
! Jste v koncích? Napište mi J