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

如何在Visual Studio启动配置中运行WSL内的可执行文件并调试?

在Visual Studio中配置启动并调试WSL中的外部可执行文件

完全可以通过配置launchSettings.json实现这一需求,以下是具体步骤:

1. 创建/修改launchSettings.json

如果你的.NET类库项目没有Properties/launchSettings.json文件,直接在项目的Properties文件夹下新建该文件。

2. 配置WSL调试参数

将以下配置写入文件,根据你的实际情况替换路径和参数:

{
  "profiles": {
    "WSL 外部程序调试": {
      "commandName": "WSL2",
      "commandLineArgs": "/home/your-user/your-app/main-executable",
      "workingDirectory": "/home/your-user/your-app",
      "environmentVariables": {
        // 添加主程序加载扩展所需的环境变量,例如指定扩展目录
        "EXTENSION_LOAD_PATH": "/home/your-user/your-classlib-output"
      },
      "remoteDebugEnabled": true,
      "remoteMachineName": "localhost",
      "remotePort": 4026,
      "remoteDebuggerCommand": "/usr/bin/vsdbg"
    }
  }
}

关键参数说明

  • commandName: 指定使用WSL2作为运行环境
  • commandLineArgs: WSL中待启动的可执行文件绝对Linux路径
  • workingDirectory: 可执行文件的工作目录(Linux路径)
  • environmentVariables: 设置主程序加载你的.NET类库所需的环境变量,确保主程序能找到并加载扩展
  • remoteDebugEnabled: 启用跨WSL和Windows的远程调试
  • remotePort: Visual Studio调试器与WSL中vsdbg通信的端口,默认4026,若被占用可自行修改
  • remoteDebuggerCommand: 指定WSL中调试工具vsdbg的路径,默认安装路径为/usr/bin/vsdbg

3. 部署类库到WSL

确保你的.NET类库编译输出已部署到WSL的对应路径(即上述配置中EXTENSION_LOAD_PATH指定的目录):

  • 可通过项目的发布配置,将输出目录映射到WSL路径
  • 或手动复制编译后的类库文件到WSL的目标目录

4. 启动调试

在Visual Studio的启动配置下拉菜单中选择你配置的WSL 外部程序调试,点击启动调试按钮。此时Visual Studio会自动:

  1. 在WSL中启动指定的可执行文件
  2. 立即附加调试器,不会错过扩展加载的时机

额外注意事项

  • 优先将Linux程序放在WSL本地文件系统(而非/mnt映射的Windows路径),避免性能问题
  • 若WSL中未安装vsdbg,第一次启动调试时Visual Studio会自动安装;也可手动在WSL终端执行:
    curl -sSL https://aka.ms/getvsdbgsh | bash /dev/stdin -v latest -l /usr/bin/vsdbg
    
  • 若调试连接失败,检查端口是否被占用,或确认WSL网络与Windows正常连通

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 05:48:24