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
How to Play LLDB in iOS runtime?
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Sting Su
May 28, 2019
Programming
0
300
How to Play LLDB in iOS runtime?
Sting Su
May 28, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
460
AgentCoreとHuman in the Loop
har1101
5
240
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
140
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
760
Patterns of Patterns
denyspoltorak
0
1.4k
CSC307 Lecture 08
javiergs
PRO
0
670
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.3k
今から始めるClaude Code超入門
448jp
8
8.9k
AI & Enginnering
codelynx
0
120
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
Featured
See All Featured
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
290
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
30 Presentation Tips
portentint
PRO
1
220
Ethics towards AI in product and experience design
skipperchong
2
200
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
83
Scaling GitHub
holman
464
140k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
97
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
Transcript
How to play with LLDB in iOS runtime? @stinge
• slide url https://ppt.cc/fhdtqx • QR Code
Background stinge • Mercari iOS Engineer • twitter: @StingeSu •
hobby: traveling & cooking
Outline • Why LLDB(Low Level Debugger)? • How LLDB works?
• LLDB OSS • Custom LLDB command
Why LLDB? • high-performance debugger • Clang expression parser &
LLVM disassembler • Default debugger in Xcode • Run Swift REPL & python supported • Save your time
Clang v.s GCC(GNU Compiler Collection) Clang • Apple official compiler
• Frontend for LLVM • High performance • BSD license • …… GCC • Linux based • Support more languages • GPL license
Clang (Xcode 10.2.1) GCC (Darwin Kernel on Raspberry Pi)
• How Apple deprecated GCC Front-end Back-end Xcode 3 GCC
GCC Xcode 4 GCC LLVM Xcode 5 Clang LLVM
• gcc hello.c
Is it good for iOS?
Is it good for iOS? NO
build process
Clang-Swift • The compiler process of swift cmd+B
Clang-Swift • The compiler process of swift Clang AST Reference
https://ppt.cc/fnA4Qx
Clang-Swift • The compiler process of swift
How LLDB works?
How LLDB works? command action option argument
None
• p(print) → expr -- expr -- foo • po(print
object) → expr -O -- expr -O -- foo
p v.s po
None
• Changes the value of variables • Creates temporary variables
• Validates the values
• DEMO • Tasks 1. Changes UIButton title into red
2. Moves UIView up
• Can we use a efficient way to finish these
commands? - YES
LLDB Python API https://lldb.llvm.org/python_reference/index.html
LLDB OSS • Facebook/chisel • DEMO
Customized command • nudge(swift) • DEMO https://gist.github.com/sTinGe/059dc4c15347b7fef4ee537efdcc6e53