[ruby-core:75953] [Ruby trunk Bug#10763] do not receive TracePoint event for elsif
From:
nagachika00@...
Date:
2016-06-11 17:26:11 UTC
List:
ruby-core #75953
Issue #10763 has been updated by Tomoyuki Chikanaga.
Backport changed from 2.1: WONTFIX, 2.2: DONE, 2.3: REQUIRED to 2.1: WONTFIX, 2.2: DONE, 2.3: DONE
ruby_2_3 r55382 merged revision(s) 54893.
----------------------------------------
Bug #10763: do not receive TracePoint event for elsif
https://bugs.ruby-lang.org/issues/10763#change-59147
* Author: Oleg Sukhodolsky
* Status: Closed
* Priority: Normal
* Assignee:
* ruby -v: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin14]
* Backport: 2.1: WONTFIX, 2.2: DONE, 2.3: DONE
----------------------------------------
Here is a simple test which shows that we do not receive TracePoint event for line with elsif,
and so it is impossible to implement debugger which will be able to set breakpoint on that line
(originally reported agains RubyMine's debugger - https://youtrack.jetbrains.com/issue/RUBY-14452)
~~~ruby
trace = TracePoint.new do |tp|
printf "%8s %s:%-2d %13s\n", tp.event, tp.path, tp.lineno, tp.method_id
end
def method1; false end
def method2; true end
trace.enable
if method1
1
elsif method2
2
end
~~~
Here is an output I'v got with 2.2.0 (the same problem we have with 1.9, 2.0, and 2.1)
~~~ruby
c_return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:7 enable
line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:9
call /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:5 method1
line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:5 method1
return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:5 method1
call /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:6 method2
line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:6 method2
return /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:6 method2
line /Users/user/work/tests/slim-tests/ruby/debugger/ruby-14452.rb:12
c_return -e:1 load
~~~
IMHO any user does expect that it should be possible to set breakpoint on "elsif" to be able to evaluate condition.
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>