Construire une version de débogage
Ce guide décrit le workflow de débogage local pour Lumi à l’aide de scripts dans build/lumi/scripts.
Le flux de travail est conçu pour :
- utiliser des artefacts de construction locaux (aucun téléchargement de symboles requis),
- vérifier que les symboles de débogage sont bien présents,
- lancez GDB avec le mode symbole hors ligne par défaut.
Prérequis
- Linux basé sur Debian (base de référence du projet : Debian 13)
- Arbre source Lumi déjà cloné
Configuration GDB unique (facultatif mais recommandé)
Installez les outils GDB :
sudo apt update
sudo apt install gdb gdbserverConfiguration facultative de la journalisation locale :
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
EOFRemarque : les scripts de débogage locaux de Lumi désactivent debuginfod par défaut pour conserver la résolution des symboles locale et reproductible.
Démarrage rapide
Depuis le répertoire des scripts :
cd ~/code/lumi-dev/build/lumi/scriptsDébogage Build + Lancement (par défaut)
Utilisez-le pour les sessions de débogage normales.
bash lumi-debug-local.sh lumi-dev buildCette commande :
- construit Lumi en mode débogage,
- vérifie les symboles de débogage,
- lance Lumi sous GDB.
Debug Build uniquement (pour une session TTY/à distance ultérieure)
Utilisez-le lorsque vous souhaitez construire maintenant et lancer/déboguer plus tard.
bash lumi-build-debug.sh lumi-dev buildUtilisation des ATS sous Linux
Les ATS (consoles texte) sont souvent le moyen le plus fiable de déboguer les blocages matériels.
- Passez à un TTY avec
Ctrl + Alt + F1viaCtrl + Alt + F6 - Connectez-vous à partir de l’invite de texte
- Revenir à la session graphique avec
Ctrl + Alt + F7(ouF2sur certains systèmes)
Pourquoi est-ce important : si la session de bureau est bloquée, un téléscripteur répond souvent, vous pouvez donc attacher GDB, capturer une trace et récupérer des données de crash utiles.
Facultatif : débogage à distance/ATS
Pour les gels durs ou les blocages d’affichage, utilisez gdbserver :
cd ~/code/lumi-dev/build/lumi/scripts
bash gdbserver.shPuis depuis un TTY (recommandé pour les scénarios de gel) ou un autre terminal :
gdb /home/mark/code/lumi-dev/bin/lumi-0.1
(gdb) target remote localhost:9999
(gdb) continuePour un lancement GDB local (chemin non TTY) :
bash lumi-debug-launch.sh --repo lumi-devNote sur les performances
Les builds de débogage sont de par leur conception plus lentes. Une fois le débogage terminé, revenez à une version plus rapide :
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