Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Mengesan jika Penyahpepijat GoLand Dilampirkan pada Program Go?

Bagaimanakah Saya Boleh Mengesan jika Penyahpepijat GoLand Dilampirkan pada Program Go?

Mary-Kate Olsen
Lepaskan: 2024-11-25 13:30:12
asal
1006 orang telah melayarinya

How Can I Detect if the GoLand Debugger is Attached to a Go Program?

Mengesan Kehadiran Penyahpepijat GoLand dalam Program Yang Berjalan

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.

Menggunakan Teg Binaan

Buat dua fail:

  • isdelve/delve.go:
// +build delve

package isdelve

const Enabled = true
Salin selepas log masuk
  • isdelve/nodelve.go:
// +build !delve

package isdelve

const Enabled = false
Salin selepas log masuk

Dalam program utama anda, import pakej isdelve dan semak Pemalar yang didayakan:

import "isdelve"

func main() {
    fmt.Println("delve", isdelve.Enabled)
}
Salin selepas log masuk

Mendayakan Teg Binaan dalam GoLand

Dalam GoLand, navigasi ke 'Run/Debug Configurations' dan dalam 'Go tool arguments', tambahkan:

-tags=delve
Salin selepas log masuk

Kini, menjalankan program dalam GoLand akan membolehkan teg binaan delve, membolehkan anda mengakses isdelve.Didayakan pemalar.

Menggunakan perintah set delve

Sebagai alternatif, gunakan perintah set delve untuk menetapkan pembolehubah selepas memulakan penyahpepijat:

dlv debug a.go
(dlv) set debug.enabled true
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan