Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengelakkan Melangkah ke dalam Kod Pemasangan semasa Menyahpepijat Program Go dalam GoClipse?

Bagaimana untuk Mengelakkan Melangkah ke dalam Kod Pemasangan semasa Menyahpepijat Program Go dalam GoClipse?

Linda Hamilton
Linda Hamiltonasal
2024-10-23 23:19:30250semak imbas

How to Avoid Stepping into Assembly Code while Debugging Go Programs in GoClipse?

Menyahpepijat Program Go dalam GoClipse dengan Kod Pemasangan

Semasa cuba menyahpepijat program Go dalam GoClipse, pengguna mungkin menghadapi isu di mana penyahpepijat langkah melalui kod pemasangan dan bukannya kod Go. Ini berlaku walaupun memasang gdb untuk penyahpepijatan dengan betul.

Apabila titik putus ditetapkan dan program dijalankan melalui penyahpepijat Eclipse, ia memasuki fail kod pemasangan seperti "rt0_darwin_amd64.s" dan memfokuskan pada baris seperti "MOVQ $_rt0_go (SB), AX." Tingkah laku ini boleh menjadikan penyahpepijatan mencabar.

Untuk menangani isu ini, sahkan kandungan paparan Nyahpepijat apabila program Go berhenti. Jika ia memaparkan surih tindanan bermula dengan "main() at rt0_darwin_amd64.s," ini menunjukkan bahawa penyahpepijat telah dijeda pada fungsi "utama" masa jalan dalaman yang ditulis dalam C.

Tingkah laku ini dikawal oleh yang pertama pilihan dalam pilihan konfigurasi pelancaran. Untuk menyelesaikannya, tetapkan pilihan kepada "main.main" untuk berhenti pada fungsi utama Go sebenar atau cuma nyahtanda pilihan.

Sebagai alternatif, jika penyahpepijat berhenti pada fungsi "utama" masa jalan dalaman, anda boleh klik "Run / Resume" (F8) untuk meneruskan pelaksanaan. Ini akan membolehkan anda melangkah melalui kod Go dan nyahpepijat seperti yang dijangkakan.

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Melangkah ke dalam Kod Pemasangan semasa Menyahpepijat Program Go dalam GoClipse?. 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