0

我google搜索,看着stackoverflow但找不到解决方案。Visual Studio代码Ubuntu的aspnet核心2容器调试

设置:

主机OS:Ubuntu的

ASPNET的Core 2

DOTNET 2.0


我有两个容器,为MySQL一个容器和另一个用于DOTNET核心。我能够在不安装CLR调试器的情况下运行它。在一个容器中安装CLR调试器后,我试图使用Visual Studio代码来调试在该容器中运行的aspnet core 2应用程序。我遇到以下错误:

“管道程序'bash'意外退出。”

唯一的选择就是 “开放Launch.json” 和launch.json只有bash命令是:

启动:

 "pipeTransport": {    
      "pipeProgram": "/bin/bash",    
      "pipeCwd": "${workspaceRoot}",    
      "pipeArgs": ["-c",    
       "docker exec -i devexamapp_debug_1 /clrdbg/clrdbg --interpreter=mi"], 
      "debuggerPath": "/vsdbg/vsdbg" 

下面的调试控制台显示 “/斌/庆典” -c “泊坞窗EXEC -i devexamapp_debug_1/clrdbg/clrdbg --interpreter = MI” “/ vsdbg/vsdbg --interpreter = vscode”

如果我运行 “/斌/庆典” -c“泊坞窗EXEC -i devexamapp_debug_1/clrdbg/clrdbg --interpreter = mi“”/ vsdbg/vsdbg --interpreter = vscode“在控制台窗口然后它工作100%罚款withotu一个y错误。

我错过了什么?任何帮助?

感谢

+0

也许它正在运行的一些错误的命令,以总组合做同样的。看看你是否可以确定实际运行的命令? –

+0

感谢您的回复。只有我可以从Visual Studio Code中检查的东西是它在底部的“调试控制台”中打印的内容。 有没有办法检查它运行的是什么?一些日志或东西? – SharpCoder

回答

0

编辑-1:10月14日

您必须安装在您的码头工人形象的调试器。您可以通过添加以下到您dockerfile

WORKDIR /vsdbg 
RUN curl -SL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l /vsdbg 

然后,你需要更新launch.jsonpipeTransport如下

"pipeTransport": { 
    "pipeProgram": "docker", 
    "pipeCwd": "${workspaceRoot}", 
    "pipeArgs": ["exec -i devexamapp_debug_1"], 
    "debuggerPath": "/vsdbg/vsdbg", 
    "quoteArgs": false 
} 
+0

谢谢,我尝试过,但我现在得到以下错误: **开始: “泊坞窗” EXEC -i devexamapp_debug_1/clrdbg/clrdbg --interpreter = MI/vsdbg/vsdbg --interpreter = vscode 错误从管计划'docker':错误:未知参数'/vsdbg/vsdbg'.** 我试图删除“debuggerPath”,但那也不管用。它说“调试器路径”是必需的。 – SharpCoder

+0

请加入此聊天室https://chat.stackoverflow.com/rooms/156714/visual-studio-code-ubuntu-aspnet-core-2-container-debugging –

+0

它不会允许我在聊天中发布任何消息房间,stackoverflow需要20点声望点。 – SharpCoder