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

如何从Windows端Rider调试WSL2中运行的.NET Core进程

解决Windows端Rider无法附加WSL2中.NET Core进程的方案

前置检查

  • 确认WSL2环境已安装匹配版本的dotnet运行时/SDK,目标进程正常存活,可在WSL终端执行ps aux | grep dotnet确认进程PID存在
  • 确认Windows端Rider版本为2021.2及以上,低版本对WSL2远程调试的支持存在已知缺陷
  • 确认WSL2网络与Windows本地互通,可在WSL终端执行ping $(hostname).local验证连通性
  • 注意:如果目标.NET Core进程是通过sudo/root权限启动的,Rider默认用WSL普通用户连接会无法识别到进程,需要在WSL环境配置中勾选「以root身份连接」选项

标准附加调试操作步骤

  • 打开Rider,点击顶部菜单栏「运行」→「附加到进程」
  • 在弹出的进程选择窗口左上角,点击运行环境下拉框,选择对应的WSL2发行版(例如Ubuntu-22.04)
  • 等待Rider完成WSL2侧远程调试组件的自动部署和加载后,在进程列表中找到目标.NET Core进程,选中后点击「附加」即可

标准流程失效时的修复方案

方案1:手动安装WSL2侧调试依赖

如果Rider未完成自动部署调试组件,可手动在WSL2终端执行以下操作:

  • 安装基础依赖:sudo apt update && sudo apt install -y unzip curl procps
  • 调整端口权限(仅当进程监听1024以下端口时需要):sudo sysctl -w net.ipv4.ip_unprivileged_port_start=0
  • 在Windows终端执行wsl --shutdown重启WSL实例,重新启动.NET Core进程后再次尝试附加

方案2:SSH远程调试兜底方案

如果直接选择WSL环境仍然识别不到进程,可通过配置WSL2 SSH服务的方式实现附加:

  1. 在WSL2终端执行命令安装启动SSH服务:
sudo apt install openssh-server
sudo systemctl enable ssh --now
sudo passwd # 按提示设置当前WSL用户的登录密码
  1. 在WSL2终端执行ip a | grep eth0,获取inet字段对应的WSL2内网IP地址
  2. 回到Rider的附加进程窗口,运行环境选择「SSH」,新增SSH连接:主机填写刚才获取的WSL2 IP,用户名和密码填写WSL2的账户信息,连接成功后即可看到WSL2内运行的所有进程,选中目标.NET Core进程完成附加即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:24:03