Slide 1

Slide 1 text

ͭ·͍ͮͨ࣌ͷσόοάज़ w ࣗݾ঺հ w എܠͱ໨త w σόοάज़ w QSJOUPCKFDU w #SFBLQPJOU "DUJPO w &YDFQUJPO#SFBLQPJOU w 7JFX%FCVH

Slide 2

Slide 2 text

2 ੴ৔ਗ਼ࢠ ͍͠͹͍ͤ͜ w J04ΤϯδχΞ w ࣮຿ܦݧ೥ ೥݄d  w Swiftେ޷͖ w (JUIVC • https://github.com/IshibaSeiko w 2JJUB • https://qiita.com/seikoseikou w 5XJUUFS • @seikoseikou w #MPH • https://seikoseikou.com

Slide 3

Slide 3 text

3 എܠͱ໨త wϓϩάϥϛϯά͸΄΅ະܦݧͰೖࣾͨͨ͠Ίɺ ʮσόοάʯΛ஌Βͳ͔ͬͨ wϏϧυͨ͠Βɺࢥ͍ඳ͍͍ͯͨڍಈʹͳΒͳ͔ͬͨʂ wόάௐࠪΛ೚͞Εͨʂ w Ͱ΋ɺݪҼͷௐ΂ํ͕Θ͔Βͳ͍ ϧʔΩʔୡʹɺσόοάज़Λڭ͍͑ͨʂ

Slide 4

Slide 4 text

4 αϯϓϧΞϓϦʹ͍ͭͯ ιʔείʔυ https://github.com/IshibaSeiko/DebugDemo ػೳ ϘλϯΛλοϓ͢Δͱɺ ੺৭ͷViewͱ੨৭ͷViewͷલޙ͕੾ΓସΘΔ ॲཧ @IBAction func didTapSwapButton(_ sender: UIButton) { view.bringSubviewToFront(view.subviews[1]) }

Slide 5

Slide 5 text

5 ࠓ೔঺հ͢Δσόοάज़ • print object w ஋Λ֬ೝ͍ͨ͠ • Breakpoint + Action w ॲཧΛ௨Δͨͼʹ஋Λ֬ೝ͍ͨ͠ • Exception Breakpoint w ΞϓϦΫϥογϡͷݪҼ͕஌Γ͍ͨ • View Debug w UI্ͷ໰୊Λ஌Γ͍ͨ

Slide 6

Slide 6 text

6 σόοάज़print object import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } @IBAction func didTapSwapButton(_ sender: UIButton) { view.bringSubviewToFront(view.subviews[1]) } } ϚδοΫφϯόʔ͔ͩΒɺ ͲͷView͕औಘ͞ΕΔ͔Θ͔Βͳ͍

Slide 7

Slide 7 text

7 Α͋͘Δ΍Γํ ໰୊఺ @IBAction func viewSwapButton(_ sender: UIButton) { view.bringSubviewToFront(view.subviews[1]) print(view.subviews[1]) } • ֬ೝ͢ΔͨΊʹ͸Build͢Δඞཁ͕͋Δ • ػೳͱͯ͠ෆཁͳίʔυΛهड़͢Δ͜ͱͱͳΔ

Slide 8

Slide 8 text

8 σόοάज़print object ίϯιʔϧͰ஋Λ֬ೝ͢Δ

Slide 9

Slide 9 text

9 σόοάज़print object ੺৭ͷView͕औಘ͞Εͨ Ͱ΋ɺຖճpo͢Δͷɺ໘౗ʜ ϚδοΫφϯόʔ͔ͩΒɺ ͲͷView͕औಘ͞ΕΔ͔Θ͔Βͳ͍

Slide 10

Slide 10 text

10 σόοάज़Breakpoint + Action BreakpointʹActionΛ௥Ճ͠ɺϩάΛදࣔ͢Δ

Slide 11

Slide 11 text

11 σόοάज़Breakpoint + Action Ͱ΋ɺຖճ֬ೝ͢Δͷɺ໘౗ʜ ࣗಈͰϩά͕දࣔ͞ΕΔΑ͏ʹͳͬͨ ࣍͸όάΛൃੜͯ͠ΈΑ͏

Slide 12

Slide 12 text

12 σόοάज़Exception Breakpoint ࣄ৅ ϘλϯΛλοϓ͢Δͱɺ ΞϓϦ͕Ϋϥογϡ͢Δ ݪҼ͸ʜ

Slide 13

Slide 13 text

13 σόοάज़Exception Breakpoint AppDelegateͰΫϥογϡ͢Δ΍ͭ

Slide 14

Slide 14 text

14 σόοάज़Exception Breakpoint ྫ֎͕ൃੜͨ͠ՕॴͰϒϨʔΫ͢Δ

Slide 15

Slide 15 text

15 σόοάज़Exception Breakpoint ϘλϯΛλοϓ͢Δͱɺ ΞϓϦ͕Ϋϥογϡ͢Δ ഑ྻʹଘࡏ͠ͳ͍σʔλΛऔಘ͠Α͏ͱ͍ͯͨ͠ ࣍΋όάΛൃੜͤͯ͞ΈΔ

Slide 16

Slide 16 text

16 σόοάज़View Debug ࣄ৅ ϘλϯΛλοϓͰ͖ͳ͍ ݪҼ͸ʜ

Slide 17

Slide 17 text

17 σόοάज़View Debug Viewͷ֊૚Λ֬ೝ͢Δ

Slide 18

Slide 18 text

18 σόοάज़View Debug SwapϘλϯΑΓલ໘ʹɺ User Interaction Enabled͕Onʹͳ͍ͬͯΔView͕ ॏͳ͍ͬͯͨ ϘλϯΛλοϓͰ͖ͳ͍

Slide 19

Slide 19 text

19 ·ͱΊ • print object w ίϯιʔϧͰApo{֬ೝ͍ͨ͠ίʔυ}AΛೖྗ͢Δ • Breakpoint + Action w ઃఆͨ͠BreakpointΛμϒϧλοϓͯ͠actionΛ௥Ճ͢Δ • Exception Breakpoint w Breakpoint NavigatorࠨԼͷʮ ʯ͔Β Exception BreakpointΛ௥Ճ͢Δ • View Debug w Debug View HierarchyΛλοϓ͢Δ