c# - 退出时的 Visual Studio Code 会杀死附加了 C# 调试器的外部 .exe 进程
问题描述
我正在使用 vs 代码和ms-dotnettools.csharp
扩展来调试用 C# .NET 4.6 Framework 编写的外部 .exe 进程。我使用以下配置附加到此过程
"configurations": [
{
"name": "Attach to ConsoleApp",
"type":"clr",
"request": "attach",
"processName": "ConsoleApp",
}]
当我在命中断点后关闭 Visual Studio Code 并执行一些调试步骤时,这非常有效。附加该进程的应用程序在没有任何信息的情况下崩溃,即使 Windows 事件查看器也没有任何信息。但是,停止调试器,而不关闭 VSCode 工作得很好,这就是为什么我认为这可能是一个 vscode 问题,而不是 C# 扩展本身。例如,虽然这种崩溃并非每次都发生,但我更经常在较慢的 VM 上重现它,而不是在较快的本地系统上重现它。
VSCode 关闭时会发生什么?它会优雅地停止正在运行的扩展吗?
重现步骤:
- 使用可移植的 DebugType 构建 .NET x64 exe 应用程序
- 运行exe。
- 打开带有 C# 扩展名的 VSCode。
- 运行将附加到正在运行的 exe 的调试器。
- 放置断点。
- 断点被击中。
- 做一些调试步骤。
- 关闭 Visual Studio 代码。
- 附加调试器的 .exe 在没有任何信息的情况下崩溃。
- 禁用所有扩展时是否会出现此问题?:否。此问题需要 ms-dotnettools.csharp 扩展
- VSCode 版本:1.51.1
- 操作系统版本:Windows 10.0.18363
- ms-dotnettools.csharp 版本:1.23.6