2 回答

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
Delve 當(dāng)前無法重新加載您正在運(yùn)行的已編譯代碼,同時(shí)保留您的狀態(tài)(如斷點(diǎn)和跟蹤)。您可以做的最好的事情可能是在 Delve 中使用“source”命令。比如debug.txt在本地目錄下放一個(gè)叫的文件,可以添加:
break foo.go:171
on 1 print myVar
..然后回到dlv debug:
$ dlv debug
Type 'help' for list of commands.
(dlv) source debug.txt
Breakpoint 1 set at 0x1b0f5e5 for /path/to/foo.MyFunction() ./foo.go:171
(dlv)
您配置的斷點(diǎn)已加載。
這不是一個(gè)完美的解決方案,我想念 gdb 的行為,所以我創(chuàng)建了一個(gè) GitHub 問題來開始討論:https ://github.com/go-delve/delve/issues/1551

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
~~猜你正在尋找像這樣的實(shí)時(shí)代碼重載~~
~~ https://github.com/codegangsta/gin ~~
1 如果你想在不退出 vim 的情況下進(jìn)行調(diào)試,那么:
:new | 0read ! dlv debug #
就可以了。2 如果您希望不斷加載 dlv 模式,您可以將 tmux 與拆分窗格一起使用。一個(gè)面板打開 vim 和你的文件,另一個(gè)面板運(yùn)行 dlv。當(dāng)您在 vim 中更改文件時(shí)(在窗格中)delve(在伴隨窗格中)重新加載此文件以進(jìn)行調(diào)試。
3 如果您只想在保存文件時(shí)運(yùn)行調(diào)試,請(qǐng)?jiān)诘谝粋€(gè)命令前添加前綴
autocmd BufWritePre Filetype go
并將其添加到您的virmc
.
如果您正在尋找每次進(jìn)行更改時(shí)都會(huì)重建可執(zhí)行文件的命令,我認(rèn)為您來錯(cuò)地方了,調(diào)試并不意味著重建可執(zhí)行文件。完成調(diào)試后,您可以檢查您的應(yīng)用程序并運(yùn)行命令(go build
調(diào)用它的某些變體或某些包裝器)。構(gòu)建您的可執(zhí)行文件。
- 2 回答
- 0 關(guān)注
- 239 瀏覽
添加回答
舉報(bào)