Een debugversie bouwen
Deze handleiding beschrijft de lokale foutopsporingsworkflow voor Lumi met behulp van scripts in build/lumi/scripts.
De werkstroom is ontworpen om:
- gebruik lokale build-artefacten (geen symbooldownloads vereist),
- controleer of debug-symbolen daadwerkelijk aanwezig zijn,
- start GDB standaard met de offline symboolmodus.
Vereisten
- Op Debian gebaseerde Linux (projectbasislijn: Debian 13)
- Lumi-bronboom al gekloond
Eenmalige GDB-installatie (optioneel maar aanbevolen)
Installeer GDB-tools:
sudo apt update
sudo apt install gdb gdbserverOptionele lokale log-instellingen:
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: de lokale foutopsporingsscripts van Lumi schakelen debuginfod standaard uit om de symboolresolutie lokaal en reproduceerbaar te houden.
Snelle start
Vanuit de scriptmap:
cd ~/code/lumi-dev/build/lumi/scriptsFoutopsporing bij bouwen en starten (standaard)
Gebruik dit voor normale foutopsporingssessies.
bash lumi-debug-local.sh lumi-dev buildDeze opdracht:
- bouwt Lumi in debug-modus,
- verifieert debug-symbolen,
- lanceert Lumi onder GDB.
Debug Build Only (voor latere TTY/externe sessie)
Gebruik dit als u 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 harde bevriezingen op te lossen.
- Schakel over naar een TTY met
Ctrl + Alt + F1viaCtrl + Alt + F6 - Log in vanaf 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 steeds, zodat u GDB kunt koppelen, een backtrace kunt vastleggen en nuttige crashgegevens kunt herstellen.
Optioneel: foutopsporing op afstand/TTY
Voor harde bevriezingen of vastgelopen beeldschermen gebruikt u gdbserver:
cd ~/code/lumi-dev/build/lumi/scripts
bash gdbserver.shVervolgens vanaf een TTY (aanbevolen voor bevriezingsscenario’s) of een andere terminal:
gdb /home/mark/code/lumi-dev/bin/lumi-0.1
(gdb) target remote localhost:9999
(gdb) continueVoor een lokale GDB-lancering (niet-TTY-pad):
bash lumi-debug-launch.sh --repo lumi-devPrestatienota
Debug-builds zijn langzamer van opzet. Wanneer u klaar bent met het opsporen van fouten, schakelt u 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