01_GoLand debug時出現Connected並且程式卡住的問題 環境:win10、go version go1.19.4 windows/amd64、GoLand 2020.3.5 x64 現象 : 在 debug 模式下運行項目,打上斷點後,可以進入斷點位置,也可以跳轉到下個斷點,但是, ...
01_GoLand debug時出現Connected並且程式卡住的問題
環境:win10、go version go1.19.4 windows/amd64、GoLand 2020.3.5 x64
現象 : 在 debug 模式下運行項目,打上斷點後,可以進入斷點位置,也可以跳轉到下個斷點,但是,在逐步執行時,會發生卡住不動的情況,並且控制台提示 Connected
解決思路:
1、懷疑是分配給GoLandsh的記憶體太小,於是打開了GoLand的安裝目錄下的 goland.exe.vmoptions 文件 修改最大記憶體樹和最小記憶體數-Xmx、-Xms,這兩個值可以根據自己電腦的記憶體大小來適當的分配,我這裡分別是 8192m 和 4096m(雖然我的記憶體只要16G)
-Xms4096m
-Xmx8192m
修改後響應確實速度確實提高了,但是,問題仍然存在
2、百度,發現有的博主說,是GoLand自帶的debug程式有些問題,需要自己裝一個debug應用,再讓GoLand來通過這個應用執行debug就可以解決了,方法如下:
命令行打開, 安裝了 git的同學可以直接執行一下命令,
git clone https://github.com/go-delve/delve.git
cd delve/cmd/dlv/
go build # 編譯會產生 一個 dlv.exe 可執行程式
go install # 這條命令會將 dlv.exe 移動到 我們的 GOPATH/bin 目錄下
沒有安裝好 Git的同學可以直接訪問https://github.com/go-delve/delve.git獲得壓縮包後解壓再來執行 go 命令
最後還要設置一下GoLand
查到的結果有一條是設置 Help → Edit Custom VM Options (如果沒有設置過會彈出視窗讓你新建,確認就行
然後就是 在裡面添加一句 dlv.path=$GOPATH/bin/dlv
即可
但是,這樣操作了之後解析不出正確地址,debug無法執行,並且解析的地址總會帶上GoLand自己的bin目錄作為首碼,如下圖
所以我選擇了另外的思路,直接在 GoLand 安裝目錄下的 idea.properties中 添加上dlv.path=dlv路徑
這句代碼,解決了這個問題。
因為 使用 Help → Edit Custom VM Options 也只是另外創建一個給用戶的 idea.properties 文件而已,而改Goland 自帶的 idea.properties更為直接。當然裡面的內容最好還是不要亂改,避免出現一些莫名其妙的錯誤
可能是我的GoLand的GOPATH沒設置好,所以 $GOPATH 總是解析不出來,但是打開setting有沒有發現什麼異常所以我直接配置了 文件路徑
參考:https://blog.csdn.net/jayxujia123/article/details/120921516