使用GoClipse 調試Go 程式:彙編程式碼與Go 程式碼
使用GoClipse 偵錯Go 程式時,您可能會遇到以下情況:即使在設定斷點之後,偵錯器也會逐步執行彙編程式碼而不是Go 程式碼。這通常是由於啟動配置選項中的設定不當造成的。
了解偵錯視圖
當您的 Go 程式在偵錯過程中停止時,Eclipse 中會顯示偵錯視圖堆疊追蹤。如果類似於以下內容:
<code class="text">Thread [1] 0 (Suspended : Breakpoint) main() at rt0_windows_amd64.s:15 0x42a400 KERNEL32!BaseThreadInitThunk() at 0x773259ed 0x0 </code>
這表示程式在啟動時已自動停止在「main」函數處。但是,這不是 Go“main”函數,而是用 C 編寫的內部運行時“main”函數。
解決問題
要解決此問題,檢查啟動設定選項並找到第一個選項。它可能會顯示“預設 main()(運行時/rt0_*)”或“main.main()(原始程式碼入口點)”或類似的內容。
如果它設定為“預設 main()(運行時) /rt0_*)”,將其變更為“main.main()(原始碼入口點)”。或者,您可以簡單地取消選取該選項。
進行必要的更改後,按一下「運行/恢復」(F8) 繼續偵錯。調試器現在將單步執行您的 Go 程式碼而不是彙編程式碼。
以上是如何使用 GoClipse 調試 Go 程式:彙編程式碼與 Go 程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!