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
73
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
73
Machine Learning Application on Mobile Devices
elvismetaphor
0
140
Other Decks in Programming
See All in Programming
symfony/aiとlaravel/boost
77web
0
120
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
310
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.9k
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
380
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
160
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.7k
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
0
1.2k
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
340
どこまでゆるくて許されるのか
tk3fftk
0
410
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
8.7k
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
120
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
970
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
640
Making the Leap to Tech Lead
cromwellryan
135
10k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
220
Utilizing Notion as your number one productivity tool
mfonobong
4
340
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
So, you think you're a good person
axbom
PRO
2
2.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
670
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"