Debugger stops at unexpected place when using `trace call`
还没有人认领这个 Issue。
评估
调研方向
Reproduce with the listed Ruby 3.1.0 and rdbg 1.7.1 steps using the testapp, then follow the trace call entry point and breakpoint at line 9 in app/controllers/students_controller.rb. Confirm the debugger stops at line 9 rather than line 7 after continuing; the issue has no named debugger source file or test.
由索引模型根据 Issue 内容生成。
描述
Your environment
ruby -v:- ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin21]
rdbg -v:- rdbg 1.7.1
To Reproduce
- Clone https://github.com/ono-max/testapp
bundle installrails db:createrails db:migratebin/rails s
$ bin/rails s
=> Booting Puma
=> Rails 7.0.4.2 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.6.5 (ruby 3.0.3-p157) ("Birdie's Version")
* Min threads: 5
* Max threads: 5
* Environment: development
* PID: 28208
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl-C to stop
- Go to localhost:3000, then it should stop as follows:
...
Use Ctrl-C to stop
Started GET "/" for ::1 at 2023-02-14 01:57:49 +0900
ActiveRecord::SchemaMigration Pluck (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
Processing by StudentsController#index as HTML
[1, 10] in ~/workspace/testapp/app/controllers/students_controller.rb
1| class StudentsController < ApplicationController
2| before_action :set_student, only: %i[ show edit update destroy ]
3|
4| # GET /students or /students.json
5| def index
=> 6| binding.break
7| student1 = Student.first
8| student2 = Student.last
9| end
10|
=>#0 StudentsController#index at ~/workspace/testapp/app/controllers/students_controller.rb:6
#1 ActionController::BasicImplicitRender#send_action(method="index", args=[]) at ~/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/actionpack-7.0.4.2/lib/action_controller/metal/basic_implicit_render.rb:6
# and 75 frames (use `bt' command for all frames)
- "trace call"
- Set a breakpoint at line 9
- Then continue.
- Stop at line 7
...
[2, 11] in ~/workspace/testapp/app/controllers/students_controller.rb
2| before_action :set_student, only: %i[ show edit update destroy ]
3|
4| # GET /students or /students.json
5| def index
6| binding.break
=> 7| student1 = Student.first
8| student2 = Student.last
9| end
10|
11| # GET /students/1 or /students/1.json
=>#0 StudentsController#index at ~/workspace/testapp/app/controllers/students_controller.rb:7 #=> nil
#1 ActionController::BasicImplicitRender#send_action(method="index", args=[]) at ~/.rbenv/versions/3.0.3/lib/ruby/gems/3.0.0/gems/actionpack-7.0.4.2/lib/action_controller/metal/basic_implicit_render.rb:6
# and 75 frames (use `bt' command for all frames)
...
Expected behavior
It should stop at line 9.
Additional context
Add any other context about the problem here.
- 主要语言
- Ruby
- 星标
- 1.3k
- 派生
- 146
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
ruby/debug 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 68/100
-
Support exceptionOptions in setExceptionBreakpoints to catch arbitrary exception classes via DAP 未关闭
难度 4/5 3-5 天 新手友好度 55/100
-
难度 3/5 1-2 天 新手友好度 45/100
-
难度 4/5 3-5 天 新手友好度 52/100
-
难度 4/5 3-5 天 新手友好度 35/100
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 90/100
-
难度 2/5 1-3 小时 新手友好度 88/100
-
バグ
难度 1/5 1 小时以内 新手友好度 92/100
-
难度 2/5 1-3 小时 新手友好度 78/100
-
难度 2/5 1-3 小时 新手友好度 75/100
voxpupuli/puppet-epel#186 · 1 条评论 ·