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

M1 Mac上Rider调试步入async方法时Dotnet程序崩溃

Rider调试Async方法时会话直接终止问题求助

在M1 MacBook Pro上使用Rider调试C#代码时,每次尝试步入async方法,调试会话就会立即终止。该问题最初在AspNetCore应用中发现,且可在简单控制台程序中复现,复现代码如下:

Console.WriteLine("Start");

// 可正常步入
Hello();

// 步入时程序立即崩溃
await HelloAsync(); 

Console.WriteLine("End");

void Hello() {
    Console.Write("Hello sync");
}

async Task HelloAsync() {
    await Task.Delay(100);
    Console.Write("Hello async");
}

已知信息

  • 问题出现于安装.NET 7前后,不确定是否为直接诱因
  • Rider日志显示是目标程序而非调试器崩溃
  • Visual Studio for Mac无此问题,但最近三个版本的Rider均出现该问题
  • 设备为M1 MacBook Pro,怀疑与ARM架构相关

已尝试的排查步骤

  • 安装不同版本的Rider
  • 卸载所有.NET SDK后单独重装.NET 6或.NET 7
  • 将测试项目从.NET 6重新定向到.NET 7
  • 重启系统

已准备向JetBrains提交Bug报告,希望获取更多排查思路或问题原因分析。以下是相关Rider日志片段:

调试触发崩溃的日志片段

07:04:14.312 |V| RiderDebuggerSessionFrontend  | ClientSocket-DebuggerWorkerToFrontend-Receiver:13 | 收到来自前端的调试器命令:StepIntoActionModel ()
07:04:14.371 |I| CorRuntimeEventProcessor      | 调试器工作线程MTA主线程:6 | 目标进程已退出
07:04:14.372 |V| RiderDebuggerSessionFrontend  | 调试器工作线程MTA主线程:6 | 来自调试器的事件:类型 TargetExited
07:04:14.372 |V| RiderDebuggerWorker           | 调试器工作线程MTA主线程:6 | 向前端发送目标进程退出事件

调试器断开连接日志(目标程序崩溃导致)

05:46:51.427 |V| Client                        | ClientSocket-DebuggerWorkerHost::10-Receiver:72 | ClientSocket-DebuggerWorkerHost::10 连接已正常关闭
05:46:51.427 |V| Client                        | ClientSocket-DebuggerWorkerHost::10-Receiver:72 | ClientSocket-DebuggerWorkerHost::10: 总流量:发送690,接收4436
05:46:51.427 |V| ClientSocket-DebuggerWorkerHost::10-Sender| ClientSocket-DebuggerWorkerHost::10-Receiver:72 | 暂停('已断开连接'):: 状态=异步处理
05:46:51.427 |V| Client                        | ClientSocket-DebuggerWorkerHost::10-Receiver:72 | ClientSocket-DebuggerWorkerHost::10: 正在连接到127.0.0.1:51839。
05:46:51.427 |V| Client                        | ClientSocket-DebuggerWorkerHost::10-Receiver:72 | ClientSocket-DebuggerWorkerHost::10: 端点"127.0.0.1:51839"连接错误。连接被拒绝 127.0.0.1:51839

--- 异常 #1/2 [ExtendedSocketException]
消息 = “连接被拒绝”
异常路径 = Root.InnerException
类名 = System.Net.Internals.SocketExceptionFactory+ExtendedSocketException
HResult = E_FAIL=EFail=80004005
来源 = System.Net.Sockets
本地错误码 = 61
堆栈跟踪 = “
  在 System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) (位于 DoConnect.il:行 IL_007C mvid A973)
     在 System.Net.Sockets.Socket.Connect(EndPoint remoteEP) (位于 Connect.il:行 IL_00E6 mvid A973)
     在 JetBrains.Rd.Impl.SocketWire.Client.<>c__DisplayClass1_0.<.ctor>b__0() (位于 Client.il:行 IL_0069 mvid E45C)
”

--- 外层异常 ---

--- 异常 #2/2 [LoggerException]
消息 = “ClientSocket-DebuggerWorkerHost::10: 端点"127.0.0.1:51839"连接错误。连接被拒绝 127.0.0.1:51839”
异常路径 = Root
类名 = JetBrains.Util.LoggerException
内部异常 = “异常 #1 在 Root.InnerException”
HResult = COR_E_APPLICATION=80131600
堆栈跟踪 = “
  在 JetBrains.Util.LoggerBase.Log(LoggingLevel level, String message, Exception ex) (位于 Log.il:行 IL_0024 mvid A7F4)
     在 JetBrains.Diagnostics.LogEx.Verbose(ILog this, Exception ex, String message) (位于 Verbose.il:行 IL_0000 mvid 89A1 或 Verbose.il:行 IL_0008 mvid 89A1)
     在 JetBrains.Diagnostics.LogEx.Verbose(ILog logger, Exception ex, JetLogVerboseInterpolatedStringHandler& messageHandler) (位于 Verbose.il:行 IL_0000 mvid 89A1 或 Verbose.il:行 IL_0008 mvid 89A1)
     在 JetBrains.Rd.Impl.SocketWire.Client.<>c__DisplayClass1_0.<.ctor>b__0() (位于 Client.il:行 IL_0069 mvid E45C)
     在 System.Threading.Thread.StartHelper.Callback(Object state) (位于 Callback.il:行 IL_0000 mvid 5DC4)
     在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) (位于 RunInternal.il:行 IL_0040 mvid 5DC4)
”

补充排查思路

  1. 切换Rider调试引擎:进入Rider设置Build, Execution, Deployment > Debugger > .NET Debugging,尝试切换调试引擎(如CoreCLR调试器与旧版调试器互换)
  2. 生成崩溃转储:在调试配置中勾选“Enable dump collection”,程序崩溃后通过dump文件分析具体崩溃原因
  3. 调整项目编译设置:在项目属性中禁用Nullable reference types等可能影响async方法编译的选项,测试是否解决问题
  4. 验证.NET架构版本:通过dotnet --info确认安装的.NET 6/7 SDK为原生ARM64版本,而非x64转译版本
  5. 以管理员权限运行Rider:在M1 Mac上尝试用管理员权限启动Rider,排除权限不足导致的调试问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 19:44:54