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
610
From Xcode plugin to Xcode extension
onmyway133
0
390
Collection Update
onmyway133
4
400
A Taste of MVVM + RxSwift
onmyway133
1
550
Block
onmyway133
0
490
Other Decks in Programming
See All in Programming
sappoRo.R #12 初心者セッション
kosugitti
0
260
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.1k
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
480
一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜
atsumim
0
650
Visual StudioのGitHub Copilotでいろいろやってみる
tomokusaba
1
180
バッチを作らなきゃとなったときに考えること
irof
0
390
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
280
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
130
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
160
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
170
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
120
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
172
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Site-Speed That Sticks
csswizardry
4
390
Optimizing for Happiness
mojombo
376
70k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
RailsConf 2023
tenderlove
29
1k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
GitHub's CSS Performance
jonrohan
1030
460k
Bash Introduction
62gerente
611
210k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
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