建置除錯版本
本指南說明如何使用 build/lumi/scripts 中的腳本進行 Lumi 的本機除錯工作流程。
此工作流程旨在:
- 使用本機建置成品(無需下載符號)
- 驗證除錯符號確實存在
- 預設以離線符號模式啟動 GDB
先決條件
- 基於 Debian 的 Linux(專案基線:Debian 13)
- 已複製 Lumi 原始碼樹
一次性 GDB 設定(可選但建議)
安裝 GDB 工具:
sudo apt update
sudo apt install gdb gdbserver可選的本機日誌設定:
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
EOF注意:Lumi 的本機除錯腳本預設會停用 debuginfod,以保持符號解析在本機且可重現。
快速入門
在腳本目錄中:
cd ~/code/lumi-dev/build/lumi/scripts除錯建置 + 啟動(預設)
用於一般除錯工作階段。
bash lumi-debug-local.sh lumi-dev build此命令會:
- 以除錯模式建置 Lumi
- 驗證除錯符號
- 在 GDB 下啟動 Lumi
僅除錯建置(供後續 TTY/遠端工作階段使用)
適用於現在建置、稍後再啟動或除錯的情況。
bash lumi-build-debug.sh lumi-dev build在 Linux 中使用 TTY
TTY(文字主控台)通常是除錯硬當機最可靠的方法。
- 使用
Ctrl + Alt + F1到Ctrl + Alt + F6切換到 TTY - 在文字提示符處登入
- 使用
Ctrl + Alt + F7(某些系統為F2)返回圖形工作階段
為什麼重要:如果桌面工作階段已當機,TTY 通常仍能回應,因此可以附加 GDB、擷取回溯並恢復有用的當機資料。
可選:遠端 / TTY 除錯
對於硬當機或顯示鎖死,請使用 gdbserver:
cd ~/code/lumi-dev/build/lumi/scripts
bash gdbserver.sh然後從 TTY(凍結情境建議)或另一個終端機:
gdb /home/mark/code/lumi-dev/bin/lumi-0.1
(gdb) target remote localhost:9999
(gdb) continue本機 GDB 啟動(非 TTY 路徑):
bash lumi-debug-launch.sh --repo lumi-dev效能說明
除錯建置在設計上較慢。除錯完成後,請切換回更快的建置:
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