Go delve是否支持更改或某些变体的热交换?

Go delve是否支持更改或某些变体的热交换?,go,hotswap,delve,Go,Hotswap,Delve,Delve是一个惊人的调试器。delve是否支持更改的热交换或类似的东西,如java jvm?将代码复制到docker的build vm中,然后构建所有文件,然后构建并部署dlv,然后将所有二进制文件复制到运行时docker容器中,这需要花费我很多时间。我希望加快我的流程。所以,我想知道热插拔是否会得到支持 delve是否支持更改的热交换 不支持。因为Go不支持这个,因为Go是静态编译的,这意味着输出是一个独立的可执行文件。不可能对静态编译的二进制文件的部分进行热交换 幸运的是,Go针对快速编译

Delve是一个惊人的调试器。delve是否支持更改的热交换或类似的东西,如java jvm?将代码复制到docker的build vm中,然后构建所有文件,然后构建并部署dlv,然后将所有二进制文件复制到运行时docker容器中,这需要花费我很多时间。我希望加快我的流程。所以,我想知道热插拔是否会得到支持

delve是否支持更改的热交换

不支持。因为Go不支持这个,因为Go是静态编译的,这意味着输出是一个独立的可执行文件。不可能对静态编译的二进制文件的部分进行热交换

幸运的是,Go针对快速编译时间进行了高度优化。如果配置得当,即使是最复杂的Go程序也可以在几秒钟或更短的时间内编译,这是由于未更改的位可以缓存的方式造成的,并且不需要重新编译


这将为调试热插拔提供大部分或全部好处,而不会增加复杂性。

关于未来会发生什么的问题很难回答。关于delve开发人员可能会做什么的问题,社区不可能猜到任何程序或库的开发人员有一天会做什么或不会做什么。然而,Delve似乎不太可能添加这一点,因为Go是一种静态编译语言,与Java字节码不同,Java字节码可以在运行时在内存中进行修改。我删除了问题的“未来预测”部分,由于明显的原因,这部分内容与主题无关,留下关于当前支持的部分。根据,这是可能的,但不会很快实施。我认为,如果说根据该链接,这是可能的,那就言过其实了。这个链接说这不是不可能的。有了开源软件,几乎没有什么事情是不可能的。但这也基本上证实了我的答案。