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
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
63
Strategies of Facebook LightSpeed project
elvismetaphor
0
120
Background Execution And WorkManager
elvismetaphor
2
540
作為一個跨平台的 Mobile App 開發者,從入門到放棄!?
elvismetaphor
2
570
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
81
Machine Learning Application on Mobile Devices
elvismetaphor
0
160
Other Decks in Programming
See All in Programming
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.5k
Jetpack Compose メカニズム
skydoves
0
450
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
160
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
420
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
290
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
180
Family mrubyの進捗
kishima
1
130
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
260
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
1
150
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
520
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
580
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
300
Featured
See All Featured
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
540
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
480
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
500
Six Lessons from altMBA
skipperchong
29
4.5k
Believing is Seeing
oripsolob
1
220
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Documentation Writing (for coders)
carmenintech
77
5.5k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
Side Projects
sachag
456
43k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
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"