Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
LLDB
Khoa Pham
August 27, 2015
Programming
0
150
LLDB
Tips on using LLDB
Khoa Pham
August 27, 2015
Tweet
Share
More Decks by Khoa Pham
See All by Khoa Pham
Introduction to Swiftlane
onmyway133
0
34
Better AppStore rating
onmyway133
0
210
Pragmatic Machine Learning for mobile apps
onmyway133
0
150
Unit Testing in iOS
onmyway133
0
210
Getting started with Flutter
onmyway133
2
310
From Xcode plugin to Xcode extension
onmyway133
0
140
Collection Update
onmyway133
4
170
A Taste of MVVM + RxSwift
onmyway133
1
320
Block
onmyway133
0
190
Other Decks in Programming
See All in Programming
Hapticをカスタマイズしてみよう / ZOZO Tech Talk #6 Customize Haptic
endoumari
0
350
Enterprise Angular: Frontend Moduliths with Nx and Standalone Components @jax2022
manfredsteyer
PRO
0
300
スモールチームがAmazon Cognitoでコスパよく作るサービス間連携認証
tacke_jp
2
740
CIでAndroidUIテストの様子を録画してみた
mkeeda
0
180
よりUXに近いSLI・SLOの運用による可用性の再設計
kazumanagano
3
760
Groovy Roadmap
paulk
7
13k
読みやすいコードを書こう
yutorin
0
430
iOSアプリの技術選択2022
tattn
6
2.5k
Unity Localization で多言語対応実装しよう / xrdnk-yokohamaunity-lt10-20220513
xrdnk
0
150
Swift Concurrencyによる安全で快適な非同期処理
tattn
2
330
Licences open source : entre guerre de clochers et radicalité
pylapp
1
330
デュアルトラックアジャイル× Agile Testingから 見えてきたQAのミライ
atamaplus
0
410
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.1k
A designer walks into a library…
pauljervisheath
196
16k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
29
4.3k
Streamline your AJAX requests with AmplifyJS and jQuery
dougneiner
125
8.5k
Testing 201, or: Great Expectations
jmmastey
21
5.4k
How To Stay Up To Date on Web Technology
chriscoyier
780
250k
Reflections from 52 weeks, 52 projects
jeffersonlam
337
17k
Build your cross-platform service in a week with App Engine
jlugia
219
17k
From Idea to $5000 a Month in 5 Months
shpigford
372
44k
GraphQLとの向き合い方2022年版
quramy
16
8.1k
In The Pink: A Labor of Love
frogandcode
130
21k
Optimizing for Happiness
mojombo
365
63k
Transcript
LLDB Khoa Pham - 2359 Media
LLDB Home page http://lldb.llvm.org/ LLDB is an open-source debugger that
features a REPL, along with C++ and Python plugins
Menu - Command - Use cases - Python - Chisel
- Standalone
Command
Command - help Information on any command help print help
thread continue help help
Command - print Print value print a print self
Command Prefix matching print, prin, pri, p expression, e Can’t
use pr (print or process?)
Command $ variable Anything starting with a dollar sign is
in LLDB’ s namespace and exists to help you print $0 + 7
Command - expression Evaluate an expression (ObjC++ or Swift) in
the current program context, Modify values in the program expression $0 = 10 e $0 = 10
Command - print 'print' is an abbreviation for 'expression --'.
Use -- to signify the end of the flags and the beginning of the input e --location -- -count
Command - print object See the description method of an
object e -O -- aString po aString
Command - variable The variable must start with a dollar
sign e NSInteger $b = 10; p $b + a
Command - flow Continue process continue, continue, c Step over
thread step-over, next, n
Command - flow Step into thread step-in, step, s Step
out thread step-out, finish
Command - thread return Executes the return command, jumping out
of the current stack frame thread return YES
Breakpoint List breakpoints br li Create breakpoints br set -f
ViewController.m 39
Use cases Find targets of a button po [self.myButton allTargets]
Use cases See the frame po self.view.frame e @import UIKit
po self.view.frame
Use cases Change background color without continue e self.view.backgroundColor =
[UIColor greenColor] e (void)[CATransaction flush]
Use cases Watch variable wivar self _number
Python LLDB has full, built-in Python support. If you type
script in LLDB, it will open a Python REPL
.lldbinit Executed every time LLDB starts command script import /path/to/fblldb.py
Chisel brew update brew install chisel # ~/.lldbinit command script
import /path/to/fblldb.py
Standalone Using LLDB as a Standalone Debugger
References - Getting Started with LLDB - Dancing in the
Debugger — A Waltz with LLDB - Video Tutorial: Using LLDB in iOS - Navigating and discovering an iOS codebase using lldb - chisel