Add init debugging support
This adds Delve into the initramfs and a conditional hook which attaches Delve to our init
after the network is up. This allows for breakpoint-debugging the init itself, at least after the
very early node bringup.
Test Plan:
`bazel run -c dbg //:launch`, then use IDEA's Go Remote target to connect to localhost:2345
and set a breakpoint.
Bug: T786
X-Origin-Diff: phab/D581
GitOrigin-RevId: f6b32e7b7f4d36c8492df3e11ee97588817dbd8e
diff --git a/core/internal/common/setup.go b/core/internal/common/setup.go
index 531b688..fa5cd59 100644
--- a/core/internal/common/setup.go
+++ b/core/internal/common/setup.go
@@ -35,6 +35,7 @@
ExternalServicePort = 7836
DebugServicePort = 7837
KubernetesAPIPort = 6443
+ DebuggerPort = 2345
)
const (
diff --git a/core/internal/launch/launch.go b/core/internal/launch/launch.go
index 8aa865f..774b432 100644
--- a/core/internal/launch/launch.go
+++ b/core/internal/launch/launch.go
@@ -148,7 +148,7 @@
}
var requiredPorts = []uint16{common.ConsensusPort, common.NodeServicePort, common.MasterServicePort,
- common.ExternalServicePort, common.DebugServicePort, common.KubernetesAPIPort}
+ common.ExternalServicePort, common.DebugServicePort, common.KubernetesAPIPort, common.DebuggerPort}
// IdentityPortMap returns a port map where each VM port is mapped onto itself on the host. This is mainly useful
// for development against Smalltown. The dbg command requires this mapping.