microsoft / microsoft/vscode-cpptools

[gdbserver] Detach when stopping debugging when using gdbserver

Open
#4,166 12 comments 7 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

debugger Feature Request
Dominant language
TypeScript
Stars
6.2k
Forks
1.7k
Avg merge
14h 46m
Merged PRs (30d)
61

Description

In our setup we have multiple remote C/C++ applications running on various VMs (like many other projects).
I'm working on making possible to remote debug these applications with VSCode (by attaching, not launching) .
So far I managed to get everything working but 1 very important detail: it's very important that the remote application isn't killed when I stop the debugger (GDB, to be precise).
This is because there are many setups scripts that are run on those applications and we can't re-run all of them every time we end a debugging session.

Is there any way to modify what gdb does at closing time? Ideally, I'd like to first detach the application from GDB and then exit GDB, which is what anyone would do to avoid the killing of the application.

I couldn't find any documentation, issues or unofficial guides regarding this.

Thank you in advance.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the TypeScript extension's gdbserver attach and debugger-stop handling described in the issue, then inspect how the C/C++ remote session is terminated. Determine where detach-versus-termination behavior is selected and identify the relevant existing tests, if any. Done means stopping an attached gdbserver session leaves the remote application running.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, typescript
Domain
devtools
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.