Slide 1

Slide 1 text

·ͩ NSLog Ͱফ໣͍ͯ͠Δͷʁ 2015/03/07 yidev#18 @dealforest Toshihro Morimoto

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

ࣗݾ঺հ

Slide 4

Slide 4 text

LLVM (ಛʹLLDB) ʹ͸·ͬͯ·͢

Slide 5

Slide 5 text

DFTDebugScreenshot

Slide 6

Slide 6 text

Crying DFTDebugScreenshot

Slide 7

Slide 7 text

Crying DFTDebugScreenshot cocoapods-browser

Slide 8

Slide 8 text

Crying DFTDebugScreenshot cocoapods-browser NEW!!

Slide 9

Slide 9 text

σόοάख๏ • NSLog • Breakpoint • ৺؟ etc…

Slide 10

Slide 10 text

ਓ͸ͳͥ NSLog Ͱফ໣͢Δͷ͔

Slide 11

Slide 11 text

ͦ΋ͦ΋ফ໣ͱ͸Կ͔

Slide 12

Slide 12 text

ফ໣ͱ͸ • ࢖ͬͯຏΓݮͬͨΓແ͘ͳͬͨΓ͢Δ ͜ͱ • ମྗ΍ؾྗΛ࢖͍Ռͨ͢͜ͱ by wikpedia

Slide 13

Slide 13 text

࣭໰ʮফ໣͍ͯ͠Δͱײ͡Δਓʯ

Slide 14

Slide 14 text

NSLog Λ࢖͏࣌͸ͲΜͳ࣌ʁʁ • ϩΪϯά • ϓϦϯτσόοά

Slide 15

Slide 15 text

ͭ·Γ͸ϓϦϯτσόοά ͯ͠Δͱ͖ʹɺզʑ͸ ফ໣Λ͍ͯ͘͠Θ͚Ͱ͢Ͷ

Slide 16

Slide 16 text

NSLog σϝϦοτ • ϩά͕େྔʹͰͯΔ৔߹(ྫ͑͹ HTTP ͷϨεϙϯεΛग़ྗ͍ͯ͠Δͱ͔)ʹɺ ࢓ࠐΜͩϩά͕ྲྀΕ͍ͯ͘ͷͰ෼͔Γ ʹ͍͘ • format Λຖճ͔͔ͳ͍ͱ͍͚ͳ͍ • ߏ଄ମΛग़ྗ͢Δͱ͖ΊΜͲ͍͘͞ • Ϗϧυ͠ͳ͓͞ͳ͍ͱ͍͚ͳ͍

Slide 17

Slide 17 text

Ϗϧυ͠ͳ͓͞ͳ͍ͱ͍͚ͳ͍

Slide 18

Slide 18 text

େࣄͳ͜ͱͳͷͰ̎ճݴ͍·ͨ͠

Slide 19

Slide 19 text

ফ໣͍ͯ͘͠…

Slide 20

Slide 20 text

͜͜Ͱ Breakpoint ͷग़൪Ͱ͢

Slide 21

Slide 21 text

Breakpoint ͷϝϦοτ • ίϯιʔϧͰ LLDB ͷίϚϯυΛೖྗ͠ ͯཉ͍͠৘ใ͕ಘΒΕΔ • Ϗϧυ͠ͳ͓͞ͳͯ͘΋Α͍

Slide 22

Slide 22 text

Ϗϧυ͠ͳ͓͞ͳ͍͍ͯ͘

Slide 23

Slide 23 text

\(^o^)/\(^o^)/\(^o^)/\(^o^)/

Slide 24

Slide 24 text

Breakpoint ͷσϝϦοτ • ಛఆͷม਺Λ֬ೝ͢ΔͨΊʹϒϨΠΫ ͢Δ౓ʹԿ౓΋ೖྗ͢Δͷ͕ΊΜͲ͘ ͍͞ • ίϚϯυཤྺૢ࡞͕ශऑ

Slide 25

Slide 25 text

ͱ͸͍͑… 1. ϒϨΠΫʂ 2. εςοϓ࣮ߦ 3. ม਺ग़ྗ 4. ղআʂ

Slide 26

Slide 26 text

܁Γฦ͢ͱ ফ໣͍ͯ͘͠…

Slide 27

Slide 27 text

ΊΜͲ͘͘͞ͳͬͯ ݁ہ NSLog Λॻ͍ͯ͠·͏

Slide 28

Slide 28 text

/(^o^)\ Φϫλ

Slide 29

Slide 29 text

࣮ࡍʹσόοά͢Δ࣌͸ ͳΜ͔ͩΜͩͰ NSLog Λ ࢖͍ͬͯΔͷͰ͸ͳ͍Ͱ͠ΐ͏͔

Slide 30

Slide 30 text

ͦΜͳ͋ͳͨͷͨΊʹ

Slide 31

Slide 31 text

ϓϦϒϨͷ͢ʍΊ

Slide 32

Slide 32 text

]

Slide 33

Slide 33 text

]

Slide 34

Slide 34 text

ϓϦϒϨ(଄ޠ)

Slide 35

Slide 35 text

Φεεϝ!!

Slide 36

Slide 36 text

ϒϨʔΫϙΠϯτͷઆ໌͕ Θ͔Γ΍͍͢Ͱ͢

Slide 37

Slide 37 text

ͱ͸͍͑…

Slide 38

Slide 38 text

ϓϦϒϨͷઃఆ͕खؒ

Slide 39

Slide 39 text

ΊΜͲ͘͘͞ͳͬͯ ݁ہ NSLog Λॻ͍ͯ͠·͏

Slide 40

Slide 40 text

ϓϩάϥϚͷࡾେඒಙ • ଵଦ • ୹ؾ • ၗຫ by Larry Wall

Slide 41

Slide 41 text

ͱɺ͍͏Θ͚Ͱ࡞ͬͨΑ

Slide 42

Slide 42 text

https://github.com/dealforest/tuna

Slide 43

Slide 43 text

Tuna ͱ͸ • Xcode Plugin • ϓϦϒϨΛ؆୯ʹઃఆͰ͖Δ • BackTrace Λग़ྗ͢ΔϒϨΠΫϙΠϯτ ΋؆୯ʹઃఆͰ͖ΔΑ

Slide 44

Slide 44 text

ΞΫγϣϯ෇͖ϒϨΠΫϙΠϯτΛ ؆୯ʹઃఆͰ͖·͢

Slide 45

Slide 45 text

΍Δ͜ͱ͸γϯϓϧ͚ͩͲڧྗʂ

Slide 46

Slide 46 text

Demo Λݟͯ΋Β͑Ε͹ ΍͹͕͞఻ΘΔ͔ͳͱ

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

XVim ࢖͍ vnoremap :xcmenucmd Set Breakpoint Current Line vnoremap :xcmenucmd Set Breakpoint Next Line noremap \ :xcmenucmd Set Backtrace Breakpoint ~/.xvimrc

Slide 49

Slide 49 text

DEMO

Slide 50

Slide 50 text

Ұ໨ͰԿΛग़ྗ͠Α͏ͱ͍ͯ͠Δͷ͔͕ UI্͔Β൑அͰ͖ͳ͍ͨΊ ϩΪϯάͱͯ͠࢖͏͜ͱ͸ਪ঑͠·ͤΜ

Slide 51

Slide 51 text

ࠓޙ • Alcatraz ରԠ༧ఆ • ΫϦςΟΧϧͳόά͕·ͩ࢒͍ͬͯΔ ͷͰमਖ਼׬ྃޙϦϦʔε • ͳʹ͔ feedback ΋Β͑Δͱخ͍͠Ͱ͢

Slide 52

Slide 52 text

·ͱΊ Tuna Λ࢖༻͢Δ͜ͱͰɺࠓ·ͰΈ͍ͨʹɹ ফ໣͢Δ͜ͱͳ͘ϓϦϯτσόοά͕ɹɹ Ͱ͖ΔΑ͏ʹͳΔΑʂʂ ϑΟʔυόοΫ͘ΕͨΒ͏Ε͍͠Ͱ͢

Slide 53

Slide 53 text

͜Ε͔Β΋ফ໣͚ͭͮ͠·͔͢ʁ

Slide 54

Slide 54 text

ͦΕͱ΋ Tuna Λ࢖͍·͔͢ʁ

Slide 55

Slide 55 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠