Debugversie bouwen
Deze gids beschrijft de lokale debugworkflow voor Lumi met scripts in build/lumi/scripts.
De workflow is ontworpen om:
- lokale build-artefacten te gebruiken (geen symbol downloads nodig),
- te controleren of debugsymbolen daadwerkelijk aanwezig zijn,
- GDB standaard te starten met offline symbol mode.
Vereisten
- Debian-gebaseerde Linux (projectbaseline: Debian 13)
- Lumi-boom met broncode al gekloond
Eenmalige GDB-setup (optioneel maar aanbevolen)
Installeer GDB-tools:
sudo apt update
sudo apt install gdb gdbserverOptionele lokale logconfiguratie:
mkdir -p ~/code/gdb_logs
cat > ~/.gdbinit <<'EOF'
set logging file ~/code/gdb_logs/gdb_log.txt
set logging enabled on
set logging overwrite on
EOFOpmerking: Lumis lokale debugscripts schakelen debuginfod standaard uit om symbol resolution lokaal en reproduceerbaar te houden.
Snelle start
Vanuit de scriptsmap:
cd ~/code/lumi-dev/build/lumi/scriptsDebug build + starten (standaard)
Gebruik dit voor normale debugsessies.
bash lumi-debug-local.sh lumi-dev buildDit commando:
- bouwt Lumi in debugmodus,
- controleert debugsymbolen,
- start Lumi onder GDB.
Alleen debug build (voor later TTY/remote sessie)
Gebruik dit wanneer je nu wilt bouwen en later wilt starten/debuggen.
bash lumi-build-debug.sh lumi-dev buildTTY’s gebruiken in Linux
TTY’s (tekstconsoles) zijn vaak de meest betrouwbare manier om hard freezes te debuggen.
- Schakel naar een TTY met
Ctrl + Alt + F1t/mCtrl + Alt + F6 - Log in via de tekstprompt
- Keer terug naar de grafische sessie met
Ctrl + Alt + F7(ofF2op sommige systemen)
Waarom dit belangrijk is: als de desktopsessie vastloopt, reageert een TTY vaak nog wel, zodat je GDB kunt koppelen, een backtrace kunt vastleggen en nuttige crashdata kunt verzamelen.
Optioneel: remote/TTY-debugging
Voor hard freezes of display lockups gebruik je gdbserver:
cd ~/code/lumi-dev/build/lumi/scripts
bash gdbserver.shVervolgens vanaf een TTY (aanbevolen bij freezes) of een andere terminal:
gdb /home/mark/code/lumi-dev/bin/lumi-0.1
(gdb) target remote localhost:9999
(gdb) continueVoor een lokale GDB-start (zonder TTY):
bash lumi-debug-launch.sh --repo lumi-devPrestatie-opmerking
Debug builds zijn bewust trager. Als je klaar bent met debuggen, schakel terug naar een snellere build:
cd ~/code/lumi-dev/build/lumi/scripts
# Full release reset of all major components
bash lumi-debug-reset-release.sh lumi-dev
# Optional faster local-only variant
bash lumi-build-script.sh --scope build --dir lumi-dev --type debugoptimized