這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
golang 的調試比較麻煩,debug stop into 無法跳轉到自己寫的代碼,但是能夠跳轉到系統提供的代碼。
以下是簡單的測試代碼:
package mainimport (
"fmt"
)
func main() {
i := 5
even(i)
b := 1
fmt.Printf("Is %d even? %v\n", i, b)
}
func even(i int) bool {
a := 1
b := a + 1
b = b + 1
return i%2 == 0
}
這個情況太詭異了,網上到處是對golang gdb的吐槽。詳情可以看這裡:
http://grokbase.com/t/gg/golang-nuts/1443r0vch8/go-nuts-debugging-in-go-seems-to-be-a-very-difficult-task-to-accomplish
不過好在最後有人提供了LiteIDE裡面設定的方式。
1 - Open your project in LiteIDE2 - Select "Build" menu and under it select "Build Configuration..."3 - A dialog shows up. Select "Custom" tab. It contains a list of key/valuepairs4 - Double click the space reserved for the value of "BUILDARGS"5 - write -gcflags "-N -l"6 - close the dialog by clicking Ok button7 - rebuild your project (Ctrl+B)8 - press F5 to start debugging9 - put some breakpoints wherever you wish10 - press f5 again to reach the first breakpoint
解決方案:
1 - 開啟LiteIDE Build設定2 - 修改BUILDARGS 變數,添加參數 -gcflags "-N -l" 注意這裡有引號3 - 儲存後即可4 - enjoy it