Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk menyahpepijat fungsi Golang menggunakan penyahpepijatan jauh?

Bagaimana untuk menyahpepijat fungsi Golang menggunakan penyahpepijatan jauh?

王林
王林asal
2024-04-18 08:03:021249semak imbas

Langkah-langkah untuk menggunakan penyahpepijatan jauh dalam fungsi Golang adalah seperti berikut: Dayakan mendengar dalam atur cara: import _ "net/http/pprof" Bina dan jalankan atur cara: go run -listen=0.0.0.0:1234 main.go Sediakan penyahpepijat dalam IDE , sambungkan ke program yang sedang berjalan. Tetapkan titik putus. Jalankan penyahpepijat, dilampirkan pada program yang sedang berjalan.

如何使用远程调试调试 Golang 函数?

Cara menggunakan penyahpepijatan jauh dalam fungsi Golang

Penyahpepijatan jauh membolehkan anda memeriksa aplikasi Golang yang sedang berjalan daripada IDE atau penyahpepijat tanpa mengubah kod. Ini amat berguna untuk menyahpepijat masalah sukar untuk menghasilkan semula atau sistem yang diedarkan.

Prasyarat: g Pasang GO 1.13 atau versi yang lebih tinggi

    IDE dengan fungsi nyahpepijat (seperti Intellij Idea atau Visual Studio Code)
  • Dalam atur cara yang anda ingin nyahpepijat, tambahkan baris kod untuk membolehkan mendengar penyahpepijat jauh :
  • import _ "net/http/pprof"
  • 2 Bina dan jalankan program

Bina program sasaran dan jalankan menggunakan bendera -listen , nyatakan port untuk mendengar: rreee

3 penyahpepijat

Dalam IDE, tetapkan konfigurasi nyahpepijat untuk menyambung ke program yang sedang berjalan:

IntelliJ IDEA: Lampirkan > konfigurasikan

-listen 标志运行它,指定要监听的端口:

go run -listen=0.0.0.0:1234 main.go

3. 设置调试器

在 IDE 中,将调试配置设置为连接到正在运行的程序:

  • IntelliJ IDEA: Run > Attach to Process...
  • Visual Studio Code: Debug > Attach and configure

配置连接详细信息:

  • 主机:运行程序的主机名或 IP 地址
  • 端口:您在第 2 步中指定的端口(例如 1234Konfigurasikan butiran sambungan:

Hos: Nama hos atau alamat IP tempat program dijalankan Port: Port yang anda tentukan dalam langkah 2 (Contohnya 1234)

4. Interup execution

Dalam IDE, tetapkan titik putus untuk dinyahpepijat.

5. Menyahpepijat

Jalankan penyahpepijat untuk dilampirkan pada program yang sedang berjalan. IDE akan menjeda pelaksanaan pada titik putus. Anda boleh memeriksa pembolehubah, menetapkan ungkapan jam tangan dan langkah melalui kod.

    Kes praktikal:
  • Menyahpepijat aplikasi kompleks dengan berbilang perkhidmatan mikro dalam sistem teragih:
  • Dayakan penyahpepijatan jauh dalam setiap perkhidmatan mikro.

Gunakan IDE untuk menyambung ke setiap perkhidmatan mikro secara individu.

Tetapkan titik putus merentas perkhidmatan mikro dan lakukannya mengikut keperluan.

Jejak aliran pelaksanaan merentas perkhidmatan dan diagnosis interaksi kompleks sistem teragih melalui penyahpepijatan jauh.
  • Nota:
🎜Penyahpepijatan jauh mungkin mempunyai sedikit kesan pada prestasi aplikasi anda. 🎜🎜 Pastikan untuk melumpuhkan pendengaran penyahpepijatan jauh dalam persekitaran pengeluaran untuk mengelakkan isu keselamatan. 🎜🎜

Atas ialah kandungan terperinci Bagaimana untuk menyahpepijat fungsi Golang menggunakan penyahpepijatan jauh?. 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