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
75
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
520
作為一個跨平台的 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
380
Chapter 10. Pattern Matching with Regular Expressions
elvismetaphor
0
80
Machine Learning Application on Mobile Devices
elvismetaphor
0
150
Other Decks in Programming
See All in Programming
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
3
1.8k
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
200
Cloudflare is Agents
chimame
0
180
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
7.7k
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
570
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
5
520
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
440
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
270
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.1k
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
180
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
240
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
110
Featured
See All Featured
Faster Mobile Websites
deanohume
310
32k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Embracing the Ebb and Flow
colly
88
5.1k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
290
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
260
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
KATA
mclloyd
PRO
35
15k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
210
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
400
Code Reviewing Like a Champion
maltzj
528
40k
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"