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

调试报错:无法评估表达式(对象已被回收)及对象识别异常求助

解决「Unable to evaluate the expression Object has been collected」问题

问题表现

某类对象在运行或调试时无法通过表达式访问,报错 Unable to evaluate the expression Object has been collected,但DevTools里该对象能被正常高亮显示。

常见原因

  • 垃圾回收提前清理:调试暂停时,该对象已经被GC回收,但DevTools的UI还缓存着它的快照信息,所以能高亮,实际内存里已经没这个对象了,自然没法评估表达式。
  • 调试器与虚拟机不同步:VM里的对象已经被销毁,但DevTools界面没及时同步状态,高亮的是旧的引用痕迹。
  • 作用域已失效:对象所在的作用域(比如函数执行完、闭包失效)已经销毁,DevTools能追踪到残留信息,但表达式无法再访问到它。

排查方案

  • 查对象生命周期:在对象可能被回收的节点(比如函数返回、变量置null)加断点或日志,确认回收是不是比你调试评估的时间早。
  • 临时保留引用:调试时把对象赋值给全局变量(比如 window.temp = 目标对象),防止被GC回收,再试评估表达式。
  • 重启调试会话:刷新DevTools或者重新启动调试,让界面和VM状态同步后再测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 08:45:31