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
Dubugging Tips and Tricks for iOS development
Search
Elvis Lin
July 31, 2020
Programming
74
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dubugging Tips and Tricks for iOS development
Elvis Lin
July 31, 2020
More Decks by Elvis Lin
See All by Elvis Lin
Protect Users' Privacy in iOS 14
elvismetaphor
0
62
Strategies of Facebook LightSpeed project
elvismetaphor
0
120
Background Execution And WorkManager
elvismetaphor
2
510
作為一個跨平台的 Mobile App 開發者,從入門到放棄!?
elvismetaphor
2
560
Dependency Injection for testability of iOS app
elvismetaphor
1
1.5k
Briefly Introduction of Kotlin coroutines
elvismetaphor
1
330
MotionLayout Brief Introduction
elvismetaphor
1
370
Chapter 10. Pattern Matching with Regular Expressions
elvismetaphor
0
75
Machine Learning Application on Mobile Devices
elvismetaphor
0
140
Other Decks in Programming
See All in Programming
Build-to-own AI: Agentic Development for Humans
inesmontani
PRO
0
160
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.7k
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
250
AIエージェントで 変わるAndroid開発環境
takahirom
2
760
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
17k
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.5k
メールのエイリアス機能を履き違えない
isshinfunada
0
190
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
630
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
110
5分で問診!Composer セキュリティ健康診断
codmoninc
0
770
yield再入門 #phpcon
o0h
PRO
0
860
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.7k
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
3
3.5k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
480
Between Models and Reality
mayunak
4
380
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Facilitating Awesome Meetings
lara
57
7k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
450
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
420
Automating Front-end Workflow
addyosmani
1370
210k
Transcript
Elvis Lin 2020/07/31 Debugging Tips and Tricks How to (possibly)
reduce the time of debugging
Debugging Know the current state Update the state without re-compiling
Modify device or environment without re-launching
Know The Current State
Add a Breakpoint •Click the line to add a breakpoint
•Edit the breakpoint to add a condition if it’s necessary
Add a Watchpoint •Pause while the watched variable is changed
•Steps: •Right click on a variable in Debug Area •Select “Watch <name>”
LLDB Print Commands Command Alias For Steps To Evaluate po
<expression> expression —-object-description —- <expression> 1. Expression: evaluate <expression> 2. Expression: debug description p <expression> expression —- <expression> 1. Expression: evaluate <expression> 2. Outputs LLDB-formatted description v <name> frame variable <name> 1. Reads value of <name> from memory 2. Outputs LLDB-formatted description
None
None
None
None
Update The State Without Re-compiling
Execute Expressions •expr <expression>
Skip The Current Expression •thread jump —by 1
Execute Expressions in a Breakpoint
Modify Device or Environment Without Re-launching
Switch Between Dark And Light mode •Simulator: Features -> Toggle
Appearance •Xcode: Environment Overrides -> Interface Style
Change Font Size •Xcode: Environment Overrides -> Text
Slow Animation •Simulator: Debug -> Slow Animation
Reference •Advanced Debugging with Xcode and LLDB •Debugging in Xcode
11 •LLDB: Beyond "po"