Compilar una versión de depuración
Esta guía describe el flujo de trabajo de depuración local de Lumi usando los scripts en build/lumi/scripts.
El flujo de trabajo está pensado para:
- usar artefactos de compilación locales (no se requieren descargas de símbolos),
- verificar que los símbolos de depuración están realmente presentes,
- iniciar GDB con el modo de símbolos sin conexión activado por defecto.
Requisitos previos
- Linux basado en Debian (referencia del proyecto: Debian 13)
- Árbol de código fuente de Lumi ya clonado
Configuración única de GDB (opcional pero recomendada)
Instala las herramientas GDB:
sudo apt update
sudo apt install gdb gdbserverConfiguración opcional de registro local:
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
EOFNota: los scripts de depuración local de Lumi desactivan debuginfod por defecto para mantener la resolución de símbolos local y reproducible.
Inicio rápido
Desde el directorio de scripts:
cd ~/code/lumi-dev/build/lumi/scriptsCompilación de depuración e inicio (predeterminado)
Úsalo para sesiones de depuración habituales.
bash lumi-debug-local.sh lumi-dev buildEste comando:
- compila Lumi en modo depuración,
- verifica los símbolos de depuración,
- inicia Lumi bajo GDB.
Solo compilación de depuración (para una sesión TTY/remota posterior)
Úsalo cuando quieras compilar ahora e iniciar o depurar más tarde.
bash lumi-build-debug.sh lumi-dev buildUsar TTY en Linux
Las TTY (consolas de texto) suelen ser la forma más fiable de depurar bloqueos totales.
- Cambia a una TTY con
Ctrl + Alt + F1hastaCtrl + Alt + F6 - Inicia sesión desde el aviso de texto
- Vuelve a la sesión gráfica con
Ctrl + Alt + F7(oF2en algunos sistemas)
Por qué importa: si la sesión de escritorio se bloquea, una TTY suele seguir respondiendo, de modo que puedes adjuntar GDB, capturar un backtrace y recuperar datos útiles del fallo.
Opcional: depuración remota/TTY
Para bloqueos totales o bloqueos de pantalla, usa gdbserver:
cd ~/code/lumi-dev/build/lumi/scripts
bash gdbserver.shLuego, desde una TTY (recomendado para escenarios de bloqueo) u otra terminal:
gdb /home/mark/code/lumi-dev/bin/lumi-0.1
(gdb) target remote localhost:9999
(gdb) continuePara un inicio local de GDB (ruta sin TTY):
bash lumi-debug-launch.sh --repo lumi-devNota sobre el rendimiento
Las compilaciones de depuración son más lentas por diseño. Cuando termines de depurar, vuelve a una compilación más rápida:
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