Semasa proses pembangunan golang, kita sering menghadapi situasi di mana kita perlu nyahpepijat masalah. Pada masa ini, kami memerlukan alat untuk membantu kami dalam penyahpepijatan. Dalam golang, alat penyahpepijatan yang paling biasa digunakan ialah gdb. Artikel ini akan memperkenalkan cara memasang dan mengkonfigurasi gdb di bawah sistem pengendalian Linux.
1. Apakah itu gdb?
gdb ialah alat nyahpepijat yang boleh digunakan pada berbilang platform. Ia menyokong berbilang bahasa pengaturcaraan seperti C, C++, Fortran dan pemasangan. Selain daripada penyahpepijatan satu langkah program, ia juga menyokong pelbagai kaedah penyahpepijatan seperti melihat memori program, penyahpepijatan titik putus dan penyahpepijatan bersyarat.
2. Pasang gdb
Di bawah sistem pengendalian Linux, gdb biasanya disertakan dengannya. Anda boleh memasukkan arahan berikut pada baris arahan untuk menyemak sama ada gdb telah dipasang:
$ gdb -v
Jika gdb telah dipasang, baris arahan akan mengeluarkan maklumat versi gdb, seperti ditunjukkan di bawah:
GNU gdb (GDB) 7.11.1 ...
Jika gdb tidak dipasang, anda boleh menggunakan pengurus pakej untuk memasangnya. Mengambil Ubuntu sebagai contoh, anda boleh memasukkan arahan berikut dalam terminal untuk memasang gdb:
sudo apt-get install gdb
Selepas operasi di atas, anda boleh menggunakan gdb dalam sistem.
3. Konfigurasikan gdb
Gdb menyediakan maklumat penyahpepijatan secara lalai, tetapi maklumat ini mungkin tidak mencukupi. Oleh itu, anda perlu menambah maklumat penyahpepijatan semasa menyusun atur cara golang. Apabila menyusun, anda boleh menggunakan pilihan "-gcflags" untuk meningkatkan tahap maklumat penyahpepijatan untuk pengkompil. Contohnya:
go build -o hello-world -gcflags=all="-N -l" hello-world.go
Di mana pilihan "-N" bermaksud melumpuhkan pengoptimuman supaya kami dapat mengesan program dengan lebih baik, dan pilihan "-l" bermaksud mengarahkan pengkompil untuk menjana maklumat nombor baris.
4. Gunakan gdb
Apabila menyahpepijat program golang, anda perlu menggunakan pemalam -go-delve. Pemalam ini menyediakan dua hujung belakang untuk GDB dan LLDB. GDB ialah bahagian belakang lalai bahasa Go Dalam artikel ini kami akan memperkenalkan cara menggunakan GDB untuk nyahpepijat program.
1. Hidupkan penyahpepijatan
Pertama, mulakan gdb dan muatkan program yang perlu dinyahpepijat:
$ gdb ./hello-world
Kemudian, masukkan arahan "run" di bahagian Baris arahan GDB untuk Mulakan atur cara:
(gdb) run
2. Tetapkan titik putus
Masukkan "break" pada baris di mana anda perlu menetapkan titik putus.
Contohnya, tetapkan titik putus pada baris 5 fungsi "utama":
(gdb) break main.go:5
3 Langkah tunggal
Cara biasa untuk nyahpepijat atur cara Pelaksanaan satu langkah. Dalam GDB, anda boleh menggunakan perintah "seterusnya" untuk melaksanakan pernyataan seterusnya, dan perintah "langkah" untuk memasukkan pernyataan pertama dalam subfungsi.
Sebagai contoh, untuk melangkah melalui fungsi "utama":
(gdb) next
Tekan Enter untuk melaksanakan berbilang arahan "seterusnya" berturut-turut.
4. Lihat nilai pembolehubah
Dalam GDB, anda boleh menggunakan arahan "cetak" untuk melihat nilai pembolehubah.
Sebagai contoh, lihat nilai pembolehubah "i" dalam fungsi "utama":
(gdb) print i
5 Tamatkan penyahpepijatan
Selepas penyahpepijatan selesai, anda boleh masukkan "quit " untuk keluar dari GDB:
(gdb) quit
Ringkasan
Artikel ini memperkenalkan cara memasang dan mengkonfigurasi gdb di bawah sistem pengendalian Linux dan cara menggunakan gdb untuk nyahpepijat program golang. Dalam pembangunan sebenar, gdb ialah alat penyahpepijatan yang sangat penting, yang boleh membantu kami mencari dan menyelesaikan masalah dengan lebih cepat.
Atas ialah kandungan terperinci Cara menggunakan gdb untuk nyahpepijat program go di bawah Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!