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
360
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
130
Better AppStore rating
onmyway133
0
490
Pragmatic Machine Learning for mobile apps
onmyway133
0
380
Unit Testing in iOS
onmyway133
0
460
Getting started with Flutter
onmyway133
2
570
From Xcode plugin to Xcode extension
onmyway133
0
360
Collection Update
onmyway133
4
360
A Taste of MVVM + RxSwift
onmyway133
1
520
Block
onmyway133
0
440
Other Decks in Programming
See All in Programming
讓數據說話:用 Python、Prometheus 和 Grafana 講故事
eddie
0
310
Prompt Engineering for Developers @ AWS Community Day Adria 2024
slobodan
0
110
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
6
200
今日で分かる!カスタムコップの作り方
krpk1900
2
360
レイトレ合宿10 レンダラー紹介 / Renderer Introduction, Ray Tracing Camp 10
shocker_0x15
0
670
シールドクラスをはじめよう / Getting Started with Sealed Classes
mackey0225
2
320
Kaigi on Rails 2024 - Rails APIモードのためのシンプルで効果的なCSRF対策 / kaigionrails-2024-csrf
corocn
4
2.2k
Dev ContainersとGitHub Codespacesの素敵な関係
ymd65536
1
110
ECSのサービス間通信 4つの方法を比較する 〜Canary,Blue/Greenも添えて〜
tkikuc
10
2.1k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
130
Vue SFCのtemplateでTypeScriptの型を活用しよう
tsukkee
3
1.4k
飲食業界向けマルチプロダクトを実現させる開発体制とリアルな現状
hiroya0601
1
350
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
95
5.1k
A better future with KSS
kneath
237
17k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
760
Building Flexible Design Systems
yeseniaperezcruz
327
38k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Documentation Writing (for coders)
carmenintech
65
4.4k
Agile that works and the tools we love
rasmusluckow
327
21k
Building Your Own Lightsaber
phodgson
102
6k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
Why Our Code Smells
bkeepers
PRO
334
57k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.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