You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在树莓派上调试.NET应用遇dotnet退出代码0问题求助

.NET远程调试树莓派时程序直接退出(代码0)的排查方案

1. 修正路径解析问题

配置中存在路径格式错误,且~在调试器环境下可能无法被正确解析:

  • args里的~//dev重复斜杠会导致路径无效,改为单斜杠的相对路径~/dev/iot/soil-moisture/SoilMoisture.dll,或更稳妥的绝对路径(如/home/username/dev/iot/soil-moisture/SoilMoisture.dll)
  • cwd同样替换为绝对路径,避免shell对~的解析异常

2. 强制调试器入口暂停

控制台应用若逻辑简单、执行时间极短,调试器还未完成附加程序就已正常结束(退出码0表示无异常终止)。将stopAtEntry改为true,强制程序在入口处暂停,验证调试器能否正常连接并触发断点。

3. 调整控制台输出配置

当前console设为internalConsole可能无法显示程序实际输出,无法判断执行逻辑是否符合预期。可修改为:

"console": "integratedTerminal"

或externalTerminal,方便查看程序运行时的输出信息。

4. 验证VSDBG路径与权限

  • 确认树莓派上的vsdbg存在于配置的路径中,通过SSH执行ls ~/vsdbg/vsdbg验证;若路径错误,修正debuggerPath为绝对路径(如/home/username/vsdbg/vsdbg)
  • 确保vsdbg具备可执行权限,执行chmod +x ~/vsdbg/vsdbg赋予权限

修改后的示例配置

{
  "version": "1.0.0",
  "configurations": [
    {
      "name": ".NET Remote Launch - Framework-dependent",
      "type": "coreclr",
      "request": "launch",
      "program": "/home/username/.dotnet/dotnet",
      "args": ["/home/username/dev/iot/soil-moisture/SoilMoisture.dll"],
      "cwd": "/home/username/dev/iot/soil-moisture/",
      "stopAtEntry": true,
      "console": "integratedTerminal",
      "pipeTransport": {
        "pipeCwd": "${workspaceRoot}",
        "pipeProgram": "ssh",
        "pipeArgs": ["username@host"],
        "debuggerPath": "/home/username/vsdbg/vsdbg"
      }
    }
  ]
}

内容的提问来源于stack exchange,提问作者Maciej Skuratowski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 12:45:37