Nil absolute path displayed for LineBreakpoint in ERB files

未关闭
#1,129 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
3/5
预计耗时
1-2 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
ruby
领域
devtools

调研方向

Start with lib/debug/breakpoint.rb around lines 192 and 241, comparing how paths are assigned for breakpoints. Reproduce the ERB breakpoint example and inspect show_bps output. Done means ERB line breakpoints display their file path while continuing to stop at the specified line.

由索引模型根据 Issue 内容生成。

描述

https://github.com/ruby/debug/blob/bead0984d241a91235e3d3bacd247f0363d2d530/lib/debug/breakpoint.rb#L192
The iseq.absolute_path seems to always be nil for .erb files even though the breakpoint works correctly and stops the execution
at the specifiied line in the erb file.

Therefore the show_bps is broken for such breakpoints showing only the line number:

break app/views/earth/users/index.html.erb:50
break 
0  BP - Line  :50 (line)

Should the mentioned code be changed to:

@path = iseq.absolute_path || iseq.path

like it is already done at:
https://github.com/ruby/debug/blob/bead0984d241a91235e3d3bacd247f0363d2d530/lib/debug/breakpoint.rb#L241

or should this be fixed at the ruby lang level and make iseq.absolute_path properly return the erb file's absolute path?

主要语言
Ruby
星标
1.3k
派生
146
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

ruby/debug 的其他 Issue

查看 ruby/debug 的全部 Issue

相似的 Issue

更多 Ruby Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。