Rumah >pembangunan bahagian belakang >Golang >Mari kita bincangkan tentang alat penyahpepijatan golang

Mari kita bincangkan tentang alat penyahpepijatan golang

PHPz
PHPzasal
2023-03-31 10:24:44996semak imbas

Sebagai pembangun perisian golang, kita semua menghadapi masalah ini: apabila terdapat masalah menjalankan kod golang anda, bagaimana untuk mengetahui puncanya? Dalam artikel ini, kami akan meneroka alat penyahpepijatan golang dan cara menggunakannya untuk membantu kami mencari masalah dengan cepat.

  1. GDB Debugger

GDB ialah penyahpepijat berkuasa yang boleh digunakan untuk banyak bahasa pengaturcaraan seperti C/C++, Golang, dsb. Di Golang, kita boleh menggunakan GDB untuk mengesan kod dan nyahpepijatnya. Berikut ialah beberapa arahan asas GDB:

  • Tetapkan titik putus: break main.main
  • Resume: teruskan
  • Resume: resume
  • Single- pelaksanaan langkah: langkah
  • Pelaksanaan satu langkah (tanpa memasukkan fungsi): seterusnya
  • Paparkan nilai pembolehubah: p nama pembolehubah

Berikut ialah contoh mudah , menerangkan cara menggunakan GDB untuk nyahpepijat program Golang.

Pertama, kita perlu memasukkan titik putus dalam program, hanya masukkannya dalam fungsi utama. Kemudian, dalam direktori program yang perlu dinyahpepijat, gunakan arahan berikut untuk memulakan program kami:

$ gdb ./main
GNU gdb (GDB) 7.6.2
...
Membaca simbol daripada /home/user/Documents/go/src/debugging/main...selesai.
(gdb) break main.main
Breakpoint 1 pada 0x4012b4: file /home/user/Documents/ go/src /debugging/main.go, baris 5.
(gdb) run

Apabila atur cara melaksanakan ke titik putus yang kami tetapkan, atur cara akan berhenti seketika untuk nyahpepijat Pada masa ini, kami boleh menggunakan arahan GDB lain untuk Lihat pembolehubah dan maklumat penyahpepijatan lain.

  1. Delve

go-delve ialah penyahpepijat berkuasa yang boleh digunakan untuk menyahpepijat atur cara golang. Berbanding dengan GDB, Delve menyediakan pengalaman penyahpepijatan yang lebih mesra dan menyokong menetapkan titik putus dan mengubah suai pembolehubah atur cara secara dinamik. Pada masa yang sama, Delve juga menyediakan fungsi berikut:

  • menyokong penyahpepijatan program berbilang benang; proses;
  • Berikut ialah beberapa contoh penggunaan Delve:
  • Pertama, kita perlu memasang Delve. Dalam sistem Linux, anda boleh menggunakan arahan berikut untuk memasang:

$ go get github.com/go-delve/delve/cmd/dlv

Dalam direktori program yang perlu dinyahpepijat, gunakan arahan berikut Mulakan program kami:

$ dlv debug ./main.go

Kemudian, penyahpepijat akan mengeluarkan maklumat langsung dalam terminal dan memasuki mod baris arahan. Kita boleh menggunakan arahan dalam mod baris arahan untuk nyahpepijat atur cara.

Tetapkan titik putus: break main.main

Teruskan berjalan: teruskan
  • Sambung berjalan: mulakan semula
  • Pelaksanaan satu langkah: langkah
  • Pelaksanaan satu langkah (tanpa memasukkan fungsi): seterusnya
  • Paparkan nilai pembolehubah: p nama pembolehubah
  • Delve juga menyokong mengubah suai nilai pembolehubah dalam mod nyahpepijat, contohnya:
  • (gdb) p x
$1 = 1

(gdb) set x = 2

(gdb) p x
$2 = 2


Penyahpepijat VSCODE

    Visual Studio Code ialah persekitaran pembangunan yang sangat popular yang menyokong banyak bahasa pengaturcaraan, termasuk Golang. Dalam VSCODE, kita boleh menggunakan sambungan Golang terbina dalam untuk menyahpepijat program Golang.
  1. Mula-mula, pasang sambungan vscode-go. Kemudian, buka antara muka penyahpepijatan melalui kekunci pintasan F5 atau butang Jalankan dan Nyahpepijat di sebelah kiri. Di penjuru kiri sebelah atas antara muka, anda boleh memilih projek untuk dinyahpepijat Contohnya, projek yang ingin kami nyahpepijat ialah main.go. Selepas mengklik butang Jalankan, program akan bermula dalam mod nyahpepijat.

Dalam panel penyahpepijatan VSCODE, kami boleh menetapkan titik putus, melihat pembolehubah atur cara, mengubah suai pembolehubah atur cara secara dinamik, dsb. Berikut ialah beberapa arahan penyahpepijatan asas:

Tetapkan titik putus: Klik pada ruang kosong di sebelah kiri baris kod

Teruskan berjalan: F5
  • Single -pelaksanaan langkah: F10
  • Pelaksanaan satu langkah (masuk fungsi): F11
  • Pelaksanaan satu langkah (fungsi langkau): F11
  • Paparkan nilai pembolehubah: Gerakkan tetikus ke tetingkap gesaan pada pembolehubah
  • Interaksi penyahpepijat dalam VSCODE sangat mudah, yang boleh membantu kami mencari masalah program dengan cepat dan meningkatkan kecekapan penyahpepijatan.
  • Ringkasan:

Di atas adalah tiga cara debugging dalam golang Setiap kaedah mempunyai kelebihan dan kekurangannya. GDB ialah penyahpepijat yang sangat berkuasa yang boleh digunakan dalam kebanyakan bahasa pengaturcaraan, tetapi ia adalah lebih rumit untuk digunakan; menyokong pemalam golang, antara muka interaktif penyahpepijatan yang sangat baik, mudah dan mudah digunakan. Saya harap artikel ini dapat memberikan sedikit bantuan kepada pengaturcara yang mempunyai soalan tentang pergi menyahpepijat.

Atas ialah kandungan terperinci Mari kita bincangkan tentang alat penyahpepijatan golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn