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!