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

VSCode Ruby调试报错:Invalid argument @ realpath_rec 问题分析

解决VSCode调试Ruby时的Invalid argument @ realpath_rec错误

问题复现

回到此前出现《VSCode调试Ruby问题:调试器不执行且无法显示变量》的目录,删除测试用的X.rb和garb.rb文件后,继续编码调试时,Invalid argument @ realpath_rec错误再次出现,导致无法正常调试代码。

排查过程

  • 定位到debug gem的session.rb文件第1784行的resolve_path方法,发现该方法会尝试查找已被删除的X.rb、garb.rb文件,当文件不存在时触发报错。
  • 在resolve_path方法中添加打印语句验证了这一逻辑,将两个文件重新放回目录后,调试功能恢复正常。

后续异常现象

  • 在session.rb中所有调用resolve_path的位置添加打印语句后,再次删除文件未复现错误;但在一个数月未改动的旧项目中,相同错误再次出现,且调试控制台无任何打印输出。
  • 跨项目调试时出现更奇怪的情况:调试Modules项目时,resolve_path方法会跨目录引用ScrapeWeb项目中已删除的X.rb文件,将X.rb放回ScrapeWeb目录后,Modules项目的调试恢复正常;但将Modules项目代码复制到无历史记录的新目录时,调试无任何问题。

结论推测

该问题的核心原因大概率是无效的文件历史缓存导致路径解析异常。调试器会缓存已删除文件的路径信息,后续调试过程中仍尝试解析这些不存在的文件路径,最终触发Invalid argument @ realpath_rec错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 06:54:58