如果我创建一个启用了 Docker 支持的 ASP Core MVC(目标框架 5.0)并启动它,我会得到:
“发生一个或多个错误。 无法启动调试适配器。附加信息可能会 在输出窗口中可用。 操作被取消。”
这是调试输出:
启用 DebugAdapterHost.Logging
DebugAdapterHost.Logging /On /OutputWindow
给出以下输出:
1> DebugAdapterHost version: 16.9.50429.2 commit:ca34bde2a8dfef71e1d0b3bafd2804978bfbe6a9
1> Starting 'docker' with arguments 'exec -i 7ce0da2e24860812b487ef583433deee7b411229b69c5631dc73027fd0864f1f /bin/sh -c "ID=.; if [ -e /etc/os-release ]; then . /etc/os-release; fi; if [ $ID = alpine ] && [ -e /remote_debugger/linux-musl-x64/vsdbg ]; then VSDBGPATH=/remote_debugger/linux-musl-x64; else VSDBGPATH=/remote_debugger; fi; $VSDBGPATH/vsdbg --interpreter=vscode"'
1> [DebugAdapter] --> C (initialize-1): {"type":"request","command":"initialize","arguments":{"pathFormat":"path","clientID":"visualstudio","clientName":"Visual Studio","adapterID":"coreclr","locale":"en-US","linesStartAt1":true,"columnsStartAt1":true,"supportsVariableType":true,"supportsRunInTerminalRequest":true,"supportsMemoryReferences":true,"supportsProgressReporting":true,"SupportsMessageBox":true,"supportsHandshakeRequest":true,"supportsVsAdditionalBreakpointBinds":true,"supportsHitCountsChange":true,"supportsVsCustomMessages":true,"supportsVariableEnumerators":true},"seq":1}
1> ERROR: Debug adapter error output: /bin/sh: 1: /remote_debugger/vsdbg: not found
1> ERROR: Debug Adapter did not respond to initial requests.
1> ERROR: Unexpected error
AggregateException: One or more errors occurred.
Aggregate exception:
DebugAdapterLaunchException: Failed to launch debug adapter. Additional information may be available in the output window.
Failure Location: UserCanceled
Inner Exception:
OperationCanceledException: The operation was canceled.
Inner Exception:
DebugAdapterLaunchException: Failed to launch debug adapter. Additional information may be available in the output window.
Microsoft.VisualStudio.Debugger.VSCodeDebuggerHost.Engine.Implementation.DebuggedProcess.<StartDebugAdapter>b__114_3(Exception ex)
Microsoft.VisualStudio.Debugger.VSCodeDebuggerHost.Utilities.TaskExtensions.<>c__DisplayClass11_0`1.<Catch>b__0(TException ex)
Microsoft.VisualStudio.Debugger.VSCodeDebuggerHost.Utilities.TaskExtensions.<>c__DisplayClass10_0`1.<Catch>b__0(AggregateException ex)
Failure Location: UserCanceled
Inner Exception:
OperationCanceledException: The operation was canceled.
1> Debug adapter process exited.
1> ERROR: One or more errors occurred.
Failed to launch debug adapter. Additional information may be available in the output window.
The operation was canceled.
我尝试重新安装 Docker Desktop 和 Visual Studio 2022。Windows 11 已完全更新。
我可以直接在 Docker Desktop 中构建并运行 Nginx 映像,不会出现错误,所以我认为这与我安装的 Visual Studio 2022 有关。
我的设置:
Docker 桌面 4.5.1
Microsoft Visual Studio 社区 2022(64 位)- 17.1.0
Windows 11 主页
我还尝试降级为:
Docker 桌面 4.4.4
Microsoft Visual Studio 社区 2019(64 位)
但结果完全相同。
事实证明“/remote_debugger/vsdbg”确实丢失了。预计可以在主机上的“C:\Users\用户名 sdbg s2017u5”中找到。
删除整个目录(“C:\Users\用户名 sdbg s2017u5”),然后按 F5 强制 Visual Studio 重新创建目录,并且调试现在可以工作。
我在尝试使用 python 时收到相同的错误消息框。对我来说,在“调试属性”窗口中启用本机代码调试解决了该问题。您可以在“调试”菜单项下找到“调试属性”。
我还必须下载调试符号:Microsoft 有关于如何执行此操作的文档here,但快速运行是重新运行 python 安装程序,单击“修改”,选中有关调试符号的两个复选框,然后单击“下一步”/安装。现在一切又对我有用了。
我得到了完全相同的错误“终端进程终止,退出代码:4294967295”
尝试过一些方法
清洁/重建
重新启动 Visual Studio。
删除目录(上面提到过)
更改了设置(工具 -> 选项 -> 调试 -> 常规 -> 启用“启用 JavaScript 调试”和“多目标 JavaScript 调试器”
我尝试了其中一些链接
终于通过重新启动我的电脑解决了问题。
就我而言,我为该项目进行了清理和重建。之后,我关闭了之前用于测试的浏览器的打开实例。
此后,我运行了该项目,并像往常一样打开浏览器的新实例进行测试。
就像this答案中提到的那样,关闭Windows任务管理器中的所有Edge实例解决了我的问题(在VS 2022中拥有Blazor WebAssembly应用程序)。
我必须过滤 Edge,因为任务管理器的后台进程部分中留下了一些“隐藏”实例。