Visual Studio Code Ubuntu aspnet core 2容器调试

时间:2017-10-11 22:29:24

标签: ubuntu docker asp.net-core visual-studio-code asp.net-core-2.0

我用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任何错误。

我错过了什么?有什么帮助吗?

由于

1 个答案:

答案 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 
}