我正在使用dlv来调试golang源代码。有什么命令可以在修改源代码后重新加载程序吗?我已经在网上搜索了dlv文档,但是没有找到任何关于如何做到这一点的东西。
任何帮助都将不胜感激。
环境: centos
发布于 2019-05-15 20:24:41
目前,have还没有一种方法来重新加载正在运行的编译代码,同时保持您的状态,比如断点和跟踪。也许你能做的最好的事情就是在Delve中使用"source“命令。例如,如果将名为debug.txt的文件放入本地目录,则可以添加:
break foo.go:171
on 1 print myVar..and回到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)已加载配置的断点。
这不是一个完美的解决方案,我想念gdb行为,所以我创建了一个GitHub问题来开始讨论:https://github.com/go-delve/delve/issues/1551
发布于 2018-08-20 01:28:44
~~猜测您正在寻找像这样的实时代码重新加载。
~~ https://github.com/codegangsta/gin ~~
:new | 0read ! dlv debug #就可以了。autocmd BufWritePre Filetype go并将其添加到您的virmc中。如果您在寻找某个命令,在每次更改时重新构建您的可执行文件,我认为您在错误的位置,调试并不意味着重新构建可执行文件。调试完成后,您可以检查应用程序并运行命令( go build的一些变体或调用它的包装器)。来构建可执行文件。
https://stackoverflow.com/questions/51918763
复制相似问题