未验证 提交 5459034a 编写于 作者: P polinasok 提交者: GitHub

cmd/dap: server - always headless, target - always foregrounded (#2589)

Co-authored-by: NPolina Sokolova <polinasok@users.noreply.github.com>
上级 584191a7
......@@ -41,7 +41,7 @@ Pass flags to the program you are debugging using `--`, for example:
* [dlv attach](dlv_attach.md) - Attach to running process and begin debugging.
* [dlv connect](dlv_connect.md) - Connect to a headless debug server.
* [dlv core](dlv_core.md) - Examine a core dump.
* [dlv dap](dlv_dap.md) - [EXPERIMENTAL] Starts a TCP server communicating via Debug Adaptor Protocol (DAP).
* [dlv dap](dlv_dap.md) - [EXPERIMENTAL] Starts a headless TCP server communicating via Debug Adaptor Protocol (DAP).
* [dlv debug](dlv_debug.md) - Compile and begin debugging main package in current directory, or the package specified.
* [dlv exec](dlv_exec.md) - Execute a precompiled binary, and begin a debug session.
* [dlv replay](dlv_replay.md) - Replays a rr trace.
......
## dlv dap
[EXPERIMENTAL] Starts a TCP server communicating via Debug Adaptor Protocol (DAP).
[EXPERIMENTAL] Starts a headless TCP server communicating via Debug Adaptor Protocol (DAP).
### Synopsis
[EXPERIMENTAL] Starts a TCP server communicating via Debug Adaptor Protocol (DAP).
[EXPERIMENTAL] Starts a headless TCP server communicating via Debug Adaptor Protocol (DAP).
The server is headless and requires a DAP client like vscode to connect and request a binary
The server is always headless and requires a DAP client like vscode to connect and request a binary
to be launched or process to be attached to. The following modes are supported:
- launch + exec (executes precompiled binary, like 'dlv exec')
- launch + debug (builds and launches, like 'dlv debug')
......
......@@ -174,10 +174,10 @@ option to let the process continue or kill it.
// 'dap' subcommand.
dapCommand := &cobra.Command{
Use: "dap",
Short: "[EXPERIMENTAL] Starts a TCP server communicating via Debug Adaptor Protocol (DAP).",
Long: `[EXPERIMENTAL] Starts a TCP server communicating via Debug Adaptor Protocol (DAP).
Short: "[EXPERIMENTAL] Starts a headless TCP server communicating via Debug Adaptor Protocol (DAP).",
Long: `[EXPERIMENTAL] Starts a headless TCP server communicating via Debug Adaptor Protocol (DAP).
The server is headless and requires a DAP client like vscode to connect and request a binary
The server is always headless and requires a DAP client like vscode to connect and request a binary
to be launched or process to be attached to. The following modes are supported:
- launch + exec (executes precompiled binary, like 'dlv exec')
- launch + debug (builds and launches, like 'dlv debug')
......@@ -188,6 +188,7 @@ While --continue is not supported, stopOnEntry launch/attach attribute can be us
execution is resumed at the start of the debug session.`,
Run: dapCmd,
}
// TODO(polina): support --tty when dlv dap allows to launch a program from command-line
rootCommand.AddCommand(dapCommand)
// 'debug' subcommand.
......@@ -409,7 +410,7 @@ func dapCmd(cmd *cobra.Command, args []string) {
}
defer logflags.Close()
if headless {
if cmd.Flag("headless").Changed {
fmt.Fprintf(os.Stderr, "Warning: dap mode is always headless\n")
}
if acceptMulti {
......@@ -446,10 +447,9 @@ func dapCmd(cmd *cobra.Command, args []string) {
DisconnectChan: disconnectChan,
Debugger: debugger.Config{
Backend: backend,
Foreground: headless && tty == "",
Foreground: true, // server always runs without terminal client
DebugInfoDirectories: conf.DebugInfoDirectories,
CheckGoVersion: checkGoVersion,
TTY: tty,
},
CheckLocalConnUser: checkLocalConnUser,
})
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册