まだ NSLog で消耗しているの?

まだ NSLog で消耗しているの?

yidev 第18回での発表資料です

0a86666ca90016b2a28289dda921b0d7?s=128

Toshihiro Morimoto

March 07, 2015
Tweet

Transcript

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

  2. None
  3. ࣗݾ঺հ

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

  5. DFTDebugScreenshot

  6. Crying DFTDebugScreenshot

  7. Crying DFTDebugScreenshot cocoapods-browser

  8. Crying DFTDebugScreenshot cocoapods-browser NEW!!

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

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

  11. ͦ΋ͦ΋ফ໣ͱ͸Կ͔

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

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

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

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

  16. NSLog σϝϦοτ • ϩά͕େྔʹͰͯΔ৔߹(ྫ͑͹ HTTP ͷϨεϙϯεΛग़ྗ͍ͯ͠Δͱ͔)ʹɺ ࢓ࠐΜͩϩά͕ྲྀΕ͍ͯ͘ͷͰ෼͔Γ ʹ͍͘ • format

    Λຖճ͔͔ͳ͍ͱ͍͚ͳ͍ • ߏ଄ମΛग़ྗ͢Δͱ͖ΊΜͲ͍͘͞ • Ϗϧυ͠ͳ͓͞ͳ͍ͱ͍͚ͳ͍
  17. Ϗϧυ͠ͳ͓͞ͳ͍ͱ͍͚ͳ͍

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

  19. ফ໣͍ͯ͘͠…

  20. ͜͜Ͱ Breakpoint ͷग़൪Ͱ͢

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

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

  23. \(^o^)/\(^o^)/\(^o^)/\(^o^)/

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

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

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

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

  28. /(^o^)\ Φϫλ

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

  30. ͦΜͳ͋ͳͨͷͨΊʹ

  31. ϓϦϒϨͷ͢ʍΊ

  32. ]

  33. ]

  34. ϓϦϒϨ(଄ޠ)

  35. Φεεϝ!!

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

  37. ͱ͸͍͑…

  38. ϓϦϒϨͷઃఆ͕खؒ

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

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

  41. ͱɺ͍͏Θ͚Ͱ࡞ͬͨΑ

  42. https://github.com/dealforest/tuna

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

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

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

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

  47. None
  48. XVim ࢖͍ vnoremap <enter> :xcmenucmd Set Breakpoint Current Line<CR> vnoremap

    <C-enter> :xcmenucmd Set Breakpoint Next Line<CR> noremap \<enter> :xcmenucmd Set Backtrace Breakpoint<CR> ~/.xvimrc
  49. DEMO

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

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

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

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

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

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