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

Azure DevOps管道通过VSTest适配器运行超21个测试时出现RPC错误

根因判断

你遇到的报错不存在所谓21个测试的硬限制,错误码0x800706BE(远程过程调用失败)和0x800706BA(RPC服务器不可用)是典型的Windows系统RPC服务崩溃报错,测试刚好跑到第21个时累计触发了资源阈值,才会出现看起来刚好卡死在21个的现象。

排查步骤

  • 首先排查测试代理的运行时资源:查看测试执行时代理机器的CPU、内存、句柄占用情况,你提供的日志显示21个测试已经跑了18.7分钟,大概率是测试存在内存/资源泄漏,累计到第22个测试启动时资源耗尽,RPC服务无法正常响应请求。
  • 单独验证故障测试:跳过前21个测试,直接执行ALIFEMGSelectionTest_22和ALIFEMGSelectionTest_23,如果可以正常运行,就排除测试本身的代码问题,确认是累计资源泄漏导致的故障。
  • 验证测试代理状态:重启当前测试代理,或者换一台备用代理执行同一份测试任务,排除当前代理的系统补丁更新、RPC组件损坏的可能性。
  • 检查VSTest配置:确认VSTest任务是否开启了多进程并行执行,并行数过高会快速消耗代理资源,先关闭并行配置,改成单线程顺序执行测试,验证是否还会出现同样报错。

解决方案

  • 给VSTest任务加启动参数/diag:test_debug.log开启诊断日志,可获取RPC调用失败的详细上下文,精确定位崩溃的组件。
  • 给所有测试用例添加执行后的资源清理逻辑,主动释放申请的COM对象、内存句柄、UI进程等资源,避免累计泄漏。
  • 如果代理资源配置不足,可以将测试拆分为多个批次执行,每跑完10-15个测试就重启一次测试执行进程,释放累计占用的系统资源。
  • 临时规避可以调整VSTest的测试运行超时参数,同时开启测试进程的自动回收配置,每跑完指定数量测试就自动重启执行进程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:15:04