Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
まだ NSLog で消耗しているの?
Search
Toshihiro Morimoto
March 07, 2015
Technology
0
12k
まだ NSLog で消耗しているの?
yidev 第18回での発表資料です
Toshihiro Morimoto
March 07, 2015
Tweet
Share
More Decks by Toshihiro Morimoto
See All by Toshihiro Morimoto
Xcode8 で開発はどうかわったのか
dealforest
10
6.2k
魅せるデバッグ技術
dealforest
4
1.5k
LLDB の世界からみた Swift
dealforest
4
5.2k
Xcode で快適なデバッグライフを追い求める
dealforest
29
23k
Intrducing debug in WWDC2016
dealforest
3
770
swift build と Xcode での Build の違い
dealforest
3
2.1k
RIP Xcode Plugin 🙏
dealforest
0
4.8k
Introducing Xcode Editor Extension
dealforest
2
4.6k
Introducing Anglerfish
dealforest
2
3.4k
Other Decks in Technology
See All in Technology
使いやすいプラットフォームの作り方 ー LINEヤフーのKubernetes基盤に学ぶ理論と実践
lycorptech_jp
PRO
1
190
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
900
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
500
エンジニアがデザインまで担うための AI駆動UIデザイン/フロントエンド開発実践
kitami
2
120
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
3
400
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
200
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
120
Create Ruby native extension gem with Go
sue445
0
140
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1.2k
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
220
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
230
今日から始めるAWSセキュリティ対策 3ステップでわかる実践ガイド
yoshidatakeshi1994
0
130
Featured
See All Featured
It's Worth the Effort
3n
187
28k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
930
Context Engineering - Making Every Token Count
addyosmani
3
64
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
Transcript
·ͩ NSLog Ͱফ͍ͯ͠Δͷʁ 2015/03/07 yidev#18 @dealforest Toshihro Morimoto
None
ࣗݾհ
LLVM (ಛʹLLDB) ʹ·ͬͯ·͢
DFTDebugScreenshot
Crying DFTDebugScreenshot
Crying DFTDebugScreenshot cocoapods-browser
Crying DFTDebugScreenshot cocoapods-browser NEW!!
σόοάख๏ • NSLog • Breakpoint • ৺؟ etc…
ਓͳͥ NSLog Ͱফ͢Δͷ͔
ͦͦফͱԿ͔
ফͱ • ͬͯຏΓݮͬͨΓແ͘ͳͬͨΓ͢Δ ͜ͱ • ମྗؾྗΛ͍Ռͨ͢͜ͱ by wikpedia
࣭ʮফ͍ͯ͠Δͱײ͡Δਓʯ
NSLog Λ͏࣌ͲΜͳ࣌ʁʁ • ϩΪϯά • ϓϦϯτσόοά
ͭ·ΓϓϦϯτσόοά ͯ͠Δͱ͖ʹɺզʑ ফΛ͍ͯ͘͠Θ͚Ͱ͢Ͷ
NSLog σϝϦοτ • ϩά͕େྔʹͰͯΔ߹(ྫ͑ HTTP ͷϨεϙϯεΛग़ྗ͍ͯ͠Δͱ͔)ʹɺ ࠐΜͩϩά͕ྲྀΕ͍ͯ͘ͷͰ͔Γ ʹ͍͘ • format
Λຖճ͔͔ͳ͍ͱ͍͚ͳ͍ • ߏମΛग़ྗ͢Δͱ͖ΊΜͲ͍͘͞ • Ϗϧυ͠ͳ͓͞ͳ͍ͱ͍͚ͳ͍
Ϗϧυ͠ͳ͓͞ͳ͍ͱ͍͚ͳ͍
େࣄͳ͜ͱͳͷͰ̎ճݴ͍·ͨ͠
ফ͍ͯ͘͠…
͜͜Ͱ Breakpoint ͷग़൪Ͱ͢
Breakpoint ͷϝϦοτ • ίϯιʔϧͰ LLDB ͷίϚϯυΛೖྗ͠ ͯཉ͍͠ใ͕ಘΒΕΔ • Ϗϧυ͠ͳ͓͞ͳͯ͘Α͍
Ϗϧυ͠ͳ͓͞ͳ͍͍ͯ͘
\(^o^)/\(^o^)/\(^o^)/\(^o^)/
Breakpoint ͷσϝϦοτ • ಛఆͷมΛ֬ೝ͢ΔͨΊʹϒϨΠΫ ͢ΔʹԿೖྗ͢Δͷ͕ΊΜͲ͘ ͍͞ • ίϚϯυཤྺૢ࡞͕ශऑ
ͱ͍͑… 1. ϒϨΠΫʂ 2. εςοϓ࣮ߦ 3. มग़ྗ 4. ղআʂ
܁Γฦ͢ͱ ফ͍ͯ͘͠…
ΊΜͲ͘͘͞ͳͬͯ ݁ہ NSLog Λॻ͍ͯ͠·͏
/(^o^)\ Φϫλ
࣮ࡍʹσόοά͢Δ࣌ ͳΜ͔ͩΜͩͰ NSLog Λ ͍ͬͯΔͷͰͳ͍Ͱ͠ΐ͏͔
ͦΜͳ͋ͳͨͷͨΊʹ
ϓϦϒϨͷ͢ʍΊ
]
]
ϓϦϒϨ(ޠ)
Φεεϝ!!
ϒϨʔΫϙΠϯτͷઆ໌͕ Θ͔Γ͍͢Ͱ͢
ͱ͍͑…
ϓϦϒϨͷઃఆ͕खؒ
ΊΜͲ͘͘͞ͳͬͯ ݁ہ NSLog Λॻ͍ͯ͠·͏
ϓϩάϥϚͷࡾେඒಙ • ଵଦ • ؾ • ၗຫ by Larry Wall
ͱɺ͍͏Θ͚Ͱ࡞ͬͨΑ
https://github.com/dealforest/tuna
Tuna ͱ • Xcode Plugin • ϓϦϒϨΛ؆୯ʹઃఆͰ͖Δ • BackTrace Λग़ྗ͢ΔϒϨΠΫϙΠϯτ
؆୯ʹઃఆͰ͖ΔΑ
ΞΫγϣϯ͖ϒϨΠΫϙΠϯτΛ ؆୯ʹઃఆͰ͖·͢
Δ͜ͱγϯϓϧ͚ͩͲڧྗʂ
Demo ΛݟͯΒ͑Ε ͕͞ΘΔ͔ͳͱ
None
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
DEMO
ҰͰԿΛग़ྗ͠Α͏ͱ͍ͯ͠Δͷ͔͕ UI্͔ΒஅͰ͖ͳ͍ͨΊ ϩΪϯάͱͯ͠͏͜ͱਪ͠·ͤΜ
ࠓޙ • Alcatraz ରԠ༧ఆ • ΫϦςΟΧϧͳόά͕·͍ͩͬͯΔ ͷͰमਖ਼ྃޙϦϦʔε • ͳʹ͔ feedback
Β͑Δͱخ͍͠Ͱ͢
·ͱΊ Tuna Λ༻͢Δ͜ͱͰɺࠓ·ͰΈ͍ͨʹɹ ফ͢Δ͜ͱͳ͘ϓϦϯτσόοά͕ɹɹ Ͱ͖ΔΑ͏ʹͳΔΑʂʂ ϑΟʔυόοΫ͘ΕͨΒ͏Ε͍͠Ͱ͢
͜Ε͔Βফ͚ͭͮ͠·͔͢ʁ
ͦΕͱ Tuna Λ͍·͔͢ʁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠