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
LLDB
Search
Khoa Pham
August 27, 2015
Programming
0
390
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
140
Better AppStore rating
onmyway133
0
530
Pragmatic Machine Learning for mobile apps
onmyway133
0
400
Unit Testing in iOS
onmyway133
0
490
Getting started with Flutter
onmyway133
2
600
From Xcode plugin to Xcode extension
onmyway133
0
390
Collection Update
onmyway133
4
390
A Taste of MVVM + RxSwift
onmyway133
1
550
Block
onmyway133
0
490
Other Decks in Programming
See All in Programming
[JAWS-UG横浜 #80] うわっ…今年のServerless アップデート、少なすぎ…?
maroon1st
1
180
AWSマネコンに複数のアカウントで入れるようになりました
yuhta28
2
160
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
370
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.2k
SRE、開発、QAが協業して挑んだリリースプロセス改革@SRE Kaigi 2025
nealle
3
4.3k
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
150
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
340
DROBEの生成AI活用事例 with AWS
ippey
0
130
定理証明プラットフォーム lapisla.net
abap34
1
1.8k
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
750
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
890
負債になりにくいCSSをデザイナとつくるには?
fsubal
9
2.4k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Producing Creativity
orderedlist
PRO
344
39k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
RailsConf 2023
tenderlove
29
1k
Designing for Performance
lara
604
68k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
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