LLDB

Def :


LLDB est un debbuger qui est plus souple et plus recent que GDB, il permet de debugger des langages de programmation plus récents, comme android, C+, et est adapté pour le dev MacOS et IOS.
LLDB est aussi intégré avec Python ce qui permet d'automatiser des tâches.

Utilisation :


Setup :


On choisit d'abord le programme a executer :

lldb <file>

Pour le lancer :

run
r

BreakPoints :


Pour set un breakpoint sur une fonction on peut faire :

breakpoint set --file foo.c --line 12
breakpoint set -f foo.c -l 12
breakpoint set --name foo
breakpoint set -n foo
breakpoint set -n foo --n bar

Il est aussi possible de prendre des actions lorsqu'un breakpoint est atteint en fonction d'une condition,par exemple :

breakpoint modify -c "self == nil" -C bt --auto-continue 1 2 3

Désormais les breakpoints 1,2,3 vont continuer automatiquement si self==nil.
Et si on veut une configuration pour tous nos breakpoints à l'ajout :

breakpoint name configure -c "self == nil" -C bt --auto-continue SelfNil
# et pour l'utiliser, on donne le nom aux breakpoints qui vont prendre la conf : 
breakpoints name configure -B 1 SelfNil

WatchPoints :


Pour créer des watchpoints :

watch set var global
watch modify -c '(global==5)'
watch list

Tips :


Il est aussi possible de créer des alias :

command alias b breakpoint
command unalias b