microsoft / microsoft/vscode-cpptools
Start GDB as a separate process (signing problem)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 6.2k
- Forks
- 1.7k
- Avg merge
- 14h 46m
- Merged PRs (30d)
- 61
Description
See
- https://github.com/Microsoft/vscode-cpptools/issues/763#issuecomment-326626829
- https://github.com/Microsoft/vscode-cpptools/issues/815#issuecomment-342568664
There is a huge problem with this extension that we can't use it with custom toolchain (especially for embedded) which is not signed (macOS). I understand that developers of this extension force people to switch to Windows. However, users should have a choice between OS.
The problem is linked with a bad architecture of this extension. Instead of a correct spawning of GDB via a separate process with a VALID current working directory per process (see #815), someone invented "bicycle" and places GDB into an external script which spawns it later. I don't have comments for that...
MacOS DOES NOT allow spawning of AppleScript/Internal programs which are not signed. What should we (embedded developers) do with a dozen of toolchains for different architectures which are not signed?
Currently, the good alternative is https://marketplace.visualstudio.com/items?itemName=webfreak.debug. It has CORRECT behavior, the same which have other popular professional IDEs (Eclipse, etc). However, @WebFreak001 does not have time to maintain it. There are a few issues with a new VSCode related to breakpoints, etc.
This extension works only with an OFFICIAL toolchain for desktop development under macOS.
/cc @robotdad @pieandcakes
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the linked issues and comments, then trace how the extension currently launches GDB on macOS. Done means custom unsigned toolchains can launch as separate processes without relying on AppleScript or triggering the signing problem described here.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100