Membangun Versi Debug
Panduan ini menjelaskan alur kerja debug lokal untuk Lumi menggunakan skrip di build/lumi/scripts.
Alur kerja dirancang untuk:
- menggunakan artefak build lokal (tanpa perlu mengunduh simbol),
- memverifikasi bahwa simbol debug benar-benar ada,
- meluncurkan GDB dengan mode simbol offline secara default.
Prasyarat
- Linux berbasis Debian (baseline proyek: Debian 13)
- Pohon sumber Lumi sudah dikloning
Penyiapan GDB sekali (opsional namun direkomendasikan)
Instal alat GDB:
sudo apt update
sudo apt install gdb gdbserverPenyiapan logging lokal opsional:
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
EOFCatatan: Skrip debug lokal Lumi menonaktifkan debuginfod secara default agar resolusi simbol tetap lokal dan dapat direproduksi.
Mulai cepat
Dari direktori skrip:
cd ~/code/lumi-dev/build/lumi/scriptsBuild debug + peluncuran (default)
Gunakan ini untuk sesi debugging normal.
bash lumi-debug-local.sh lumi-dev buildPerintah ini:
- membangun Lumi dalam mode debug,
- memverifikasi simbol debug,
- meluncurkan Lumi di bawah GDB.
Build debug saja (untuk sesi TTY/jarak jauh nanti)
Gunakan ini jika Anda ingin build sekarang dan meluncurkan/debug nanti.
bash lumi-build-debug.sh lumi-dev buildMenggunakan TTY di Linux
TTY (konsol teks) sering kali merupakan cara paling andal untuk melakukan debug pada hard freeze.
- Beralih ke TTY dengan
Ctrl + Alt + F1hinggaCtrl + Alt + F6 - Masuk dari prompt teks
- Kembali ke sesi grafis dengan
Ctrl + Alt + F7(atauF2pada beberapa sistem)
Mengapa hal ini penting: jika sesi desktop macet, TTY sering masih merespons, sehingga Anda dapat melampirkan GDB, menangkap backtrace, dan memulihkan data crash yang berguna.
Opsional: Debugging jarak jauh/TTY
Untuk hard freeze atau tampilan terkunci, gunakan gdbserver:
cd ~/code/lumi-dev/build/lumi/scripts
bash gdbserver.shKemudian dari TTY (disarankan untuk skenario freeze) atau terminal lain:
gdb /home/mark/code/lumi-dev/bin/lumi-0.1
(gdb) target remote localhost:9999
(gdb) continueUntuk peluncuran GDB lokal (jalur non-TTY):
bash lumi-debug-launch.sh --repo lumi-devCatatan kinerja
Build debug memang lebih lambat. Setelah selesai debugging, beralih kembali ke build yang lebih cepat:
cd ~/code/lumi-dev/build/lumi/scripts
# Reset release penuh untuk semua komponen utama
bash lumi-debug-reset-release.sh lumi-dev
# Varian lokal yang lebih cepat (opsional)
bash lumi-build-script.sh --scope build --dir lumi-dev --type debugoptimized