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

时间:2019-05-16 19:17:08

标签: go hotswap delve

Delve是一个了不起的调试器。 delve是否支持更改的热交换或类似Java jvm的东西?将我的代码复制到docker的build vm中,然后生成所有文件,然后生成并部署dlv,然后将所有二进制文件复制到运行时docker容器中,这花费了我很多时间。我希望加快流程。因此,我想知道是否会支持热插拔?

1 个答案:

答案 0 :(得分:2)

  

Delve是否支持更改的热交换

不。由于Go不支持此功能,因为Go是静态编译的,这意味着输出是单个自治的可执行文件。无法热交换静态编译的二进制文件的部分。

幸运的是,Go经过了高度优化,可缩短编译时间。如果配置正确,即使进行很小的更改,即使最复杂的Go程序也可以在几秒钟或更短的时间内完成编译,这是由于可以保留未更改的位的方式,并且不需要重新编译。

这应该提供热交换将带来的大部分或全部好处(调试),而不会增加复杂性。