Bygga felsökningsversion
Den här guiden beskriver det lokala felsökningsarbetsflödet för Lumi med skript i build/lumi/scripts.
Arbetsflödet är utformat för att:
- använda lokala byggartefakter (inga symbolnedladdningar krävs),
- verifiera att felsökningssymboler faktiskt finns,
- starta GDB med offline-symboläge som standard.
Förutsättningar
- Debian-baserat Linux (projektets baslinje: Debian 13)
- Lumi-källträd redan klonat
Engångsinställning av GDB (valfritt men rekommenderas)
Installera GDB-verktyg:
sudo apt update
sudo apt install gdb gdbserverValfri lokal loggningskonfiguration:
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
EOFObs: Lumis lokala felsökningsskript inaktiverar debuginfod som standard för att hålla symbolupplösningen lokal och reproducerbar.
Snabbstart
Från skriptkatalogen:
cd ~/code/lumi-dev/build/lumi/scriptsFelsökningsbygge + start (standard)
Använd detta för normala felsökningssessioner.
bash lumi-debug-local.sh lumi-dev buildDetta kommando:
- bygger Lumi i felsökningsläge,
- verifierar felsökningssymboler,
- startar Lumi under GDB.
Endast felsökningsbygge (för senare TTY/fjärrsession)
Använd detta när du vill bygga nu och starta/felsöka senare.
bash lumi-build-debug.sh lumi-dev buildAnvända TTY i Linux
TTY:er (textkonsoler) är ofta det mest pålitliga sättet att felsöka hårda frysningar.
- Byt till en TTY med
Ctrl + Alt + F1tillCtrl + Alt + F6 - Logga in från textprompten
- Återgå till den grafiska sessionen med
Ctrl + Alt + F7(ellerF2på vissa system)
Varför detta är viktigt: om skrivbordssessionen har låst sig svarar en TTY ofta fortfarande, så att du kan koppla GDB, fånga en backtrace och samla in användbar kraschdata.
Valfritt: fjärr-/TTY-felsökning
För hårda frysningar eller skärmlåsningar, använd gdbserver:
cd ~/code/lumi-dev/build/lumi/scripts
bash gdbserver.shSedan från en TTY (rekommenderas vid frysningar) eller en annan terminal:
gdb /home/mark/code/lumi-dev/bin/lumi-0.1
(gdb) target remote localhost:9999
(gdb) continueFör lokal GDB-start (utan TTY):
bash lumi-debug-launch.sh --repo lumi-devPrestandaanmärkning
Felsökningsbyggen är avsiktligt långsammare. När du är klar med felsökningen, byt tillbaka till ett snabbare bygge:
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