Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Dubugging Tips and Tricks for iOS development
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Elvis Lin
July 31, 2020
Programming
80
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
65
Strategies of Facebook LightSpeed project
elvismetaphor
0
130
Background Execution And WorkManager
elvismetaphor
2
550
作為一個跨平台的 Mobile App 開發者,從入門到放棄!?
elvismetaphor
2
580
Dependency Injection for testability of iOS app
elvismetaphor
1
1.5k
Briefly Introduction of Kotlin coroutines
elvismetaphor
1
330
MotionLayout Brief Introduction
elvismetaphor
1
390
Chapter 10. Pattern Matching with Regular Expressions
elvismetaphor
0
82
Machine Learning Application on Mobile Devices
elvismetaphor
0
160
Other Decks in Programming
See All in Programming
AIに “答え“を書かせるのを やめてみた
___akari11
0
110
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
140
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5k
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
590
setup-vp GitLab対応の裏側
naokihaba
0
160
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Kubernetes祭り #2 OP/ED
bells17
0
110
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
570
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
160
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6k
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
320
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
260
Between Models and Reality
mayunak
4
490
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
4 Signs Your Business is Dying
shpigford
187
23k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
980
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
610
GitHub's CSS Performance
jonrohan
1033
470k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
What's in a price? How to price your products and services
michaelherold
247
13k
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"