albertziegenhagel / albertziegenhagel/childdebugger-vscode
Figure out a better way to communicate with VS Code
- 主要語言
- C++
- 星號
- 20
- 分支
- 3
- PR 合併指標
- 30 天內沒有已合併 PR
描述
When the VS Debug Engine extension (this repository) figures out that a child process has been launched it needs to inform the VS Code GUI part that it should attach to the newly created process.
Currently, this is implemented by abusing the `DkmUserMessage` interface. To the best of my knowledge, these user messages are indented to be used for debug messages that are to be displayed to the user. We currently intercept those user messages in the VS Code extension (the [`childdebugger-vscode` repository](https://github.com/albertziegenhagel/childdebugger-concord)) and parse all information about the child process back from the text messages, so that we can then make the VS Code GUI attach to the new process.
This is less then ideal:
- it is hard to guarantee that the to text formatting and parsing back will always work as expected.
- although these messages should be internal, they will always be displayed to the user.
Other solutions tried so far, but that didn't work:
- Using `DkmDebugProcessRequest` to make VS Code attach to the child process. Although this looks like the perfect tool for the job, it does not seem to be implemented in the VS Code incarnation of the debug engine (but only in Visual Studio's). My guess is that the reason is that VS Code starts a separate `vsdbg.exe` instance for every process it wants to debug. So anything that is internal to the current instance of the debug engine (which I assume `DkmDebugProcessRequest` is), would not work in this case.
- Similarly, `DkmCustomMessage` does not seem to be implemented for VS Code, too. It is unclear where this messages could be received.
貢獻指南
這個儲存庫沒有索引到貢獻指南
評估
這個 Issue 還沒有評估資料。