我用google搜索并查看了stackoverflow但无法找到解决方案。
主机操作系统:Ubuntu
ASPNet Core 2
Dotnet 2.0
我有两个容器,一个用于MySQL的容器,另一个用于dotnet核心。我能够在不安装CLR Debugger的情况下运行它。在一个容器中安装CLR调试器后,我试图使用Visual Studio代码调试在该容器中运行的aspnet core 2应用程序。我收到了以下错误:
“管道程序'bash'意外退出。”
只有选项是“打开Launch.json”,启动时只有bash命令是:
"pipeTransport": {
"pipeProgram": "/bin/bash",
"pipeCwd": "${workspaceRoot}",
"pipeArgs": ["-c",
"docker exec -i devexamapp_debug_1 /clrdbg/clrdbg --interpreter=mi"],
"debuggerPath": "/vsdbg/vsdbg"
调试控制台显示以下内容:
开始:“/ bin / bash”-c“docker exec -i devexamapp_debug_1 / clrdbg / clrdbg --interpreter = mi”“/ vsdbg / vsdbg --interpreter = vscode”
如果我在控制台窗口中运行“/ bin / bash”-c“docker exec -i devexamapp_debug_1 / clrdbg / clrdbg --interpreter = mi”“/ vsdbg / vsdbg --interpreter = vscode”,那么它可以正常工作罚款withotu任何错误。
我错过了什么?有什么帮助吗?
由于
答案 0 :(得分:0)
编辑-1:10月14日
您需要在Docker镜像中安装调试器。您可以通过在dockerfile下面添加
来执行相同的操作WORKDIR /vsdbg
RUN curl -SL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l /vsdbg
然后,您需要更新pipeTransport
中的launch.json
,如下所示
"pipeTransport": {
"pipeProgram": "docker",
"pipeCwd": "${workspaceRoot}",
"pipeArgs": ["exec -i devexamapp_debug_1"],
"debuggerPath": "/vsdbg/vsdbg",
"quoteArgs": false
}