Debugger stops at unexpected place when using `trace call`

Abierto
#897 4 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
38/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
rails, ruby
Área
devtools

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug

Your environment

  • ruby -v:
  • ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [arm64-darwin21]
  • rdbg -v:
  • rdbg 1.7.1

To Reproduce

  1. Clone https://github.com/ono-max/testapp
  2. bundle install
  3. rails db:create
  4. rails db:migrate
  5. bin/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
  1. 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)
  1. "trace call"
  2. Set a breakpoint at line 9
  3. Then continue.
  4. 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.

Lenguaje dominante
Ruby
Estrellas
1.3k
Forks
146
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ruby/debug

Todos los issues de ruby/debug

Issues similares

Más issues de Ruby

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.