Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Saya Boleh Mengesan jika Penyahpepijat GoLand Dilampirkan pada Program Go?
In Go, tidak seperti dalam C# di mana System.Diagnostics.Debugger.IsAttached boleh digunakan untuk mengesan kehadiran penyahpepijat, terdapat tiada setara langsung. Untuk menangani perkara ini, satu pendekatan ialah memanfaatkan teg binaan dengan penyahpepijat delve.
Buat dua fail:
// +build delve package isdelve const Enabled = true
// +build !delve package isdelve const Enabled = false
Dalam program utama anda, import pakej isdelve dan semak Pemalar yang didayakan:
import "isdelve" func main() { fmt.Println("delve", isdelve.Enabled) }
Dalam GoLand, navigasi ke 'Run/Debug Configurations' dan dalam 'Go tool arguments', tambahkan:
-tags=delve
Kini, menjalankan program dalam GoLand akan membolehkan teg binaan delve, membolehkan anda mengakses isdelve.Didayakan pemalar.
Sebagai alternatif, gunakan perintah set delve untuk menetapkan pembolehubah selepas memulakan penyahpepijat:
dlv debug a.go (dlv) set debug.enabled true
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan jika Penyahpepijat GoLand Dilampirkan pada Program Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!