Debugger stops at unexpected place when using `trace call`
まだ誰も着手していません。
評価
調査の方向性
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 にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
palladius/rails8-app-on-gcp#145 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
rubocop/rubocop-rspec#2236 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
riscv/riscv-unified-db#2624 · リアクション 1 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100