[#68137] improve semantics of manpages — "Anthony J. Bentley" <anthony@...>
Hi,
1 message
2015/02/17
[#68144] Re: Future of test suites for Ruby — Anthony Crumley <anthony.crumley@...>
FYI...
4 messages
2015/02/17
[#68343] [Ruby trunk - Bug #10916] [Open] What the Ruby? SegFault? — ruby@...
Issue #10916 has been reported by why do i need this acct just to create a bug report.
5 messages
2015/02/27
[#68373] Re: [Ruby trunk - Bug #10916] [Open] What the Ruby? SegFault?
— "Martin J. Dürst" <duerst@...>
2015/03/02
> * Author: why do i need this acct just to create a bug report
[#68358] [Ruby trunk - Bug #10902] require("enumerator") scans LOAD_PATH 2x on every invocation — ruby@...1.net
Issue #10902 has been updated by Aman Gupta.
3 messages
2015/02/28
[ruby-core:68274] [Ruby trunk - Feature #10844] TracePoint API needs an event to inform about creating/removing a new frame without calling something
From:
os97673@...
Date:
2015-02-24 03:31:02 UTC
List:
ruby-core #68274
Issue #10844 has been updated by Oleg Sukhodolsky.
David Rodr鱈guez wrote:
> @Oleg What's the problem with counting frame's stack size manually?
First: it introduced one more notion: calculated stack size, which we should use for stepping only.
Second: its calculation is not that simple you not only need to inc/dec it but should also compare it with real stack size
to fix errors you may have due to absence of new/end frame events :(
Thus I believe the API should be improved to make debugger's implementation easier.
----------------------------------------
Feature #10844: TracePoint API needs an event to inform about creating/removing a new frame without calling something
https://bugs.ruby-lang.org/issues/10844#change-51629
* Author: Oleg Sukhodolsky
* Status: Feedback
* Priority: Normal
* Assignee: Koichi Sasada
----------------------------------------
There are some situations when Ruby VM creates a new frame even if there is no calls
E.g. ensure create a new block.
Here is a simple program which shows that the frame is added but no event is reported.
It is important to known about such situations to correctly implement stepping in debugger.
It would be nice if the api reports about such situations with something like :start_frame/:end events.
What do you think?
~~~ruby
def actual_stack_size(frames_to_skip=3)
bt = Thread.current.backtrace_locations(frames_to_skip)
bt.size
end
TracePoint.new do |tp|
printf "%8s %s:%-2d %13s %d\n", tp.event, tp.path, tp.lineno, tp.method_id, actual_stack_size
end.enable
begin
raise
rescue
'error'
end
1
~~~
~~~ruby
c_return ruby/debugger/ruby-16236.rb:7 enable 1
line ruby/debugger/ruby-16236.rb:9 1
line ruby/debugger/ruby-16236.rb:10 1
c_call ruby/debugger/ruby-16236.rb:10 raise 1
c_return ruby/debugger/ruby-16236.rb:10 raise 1
c_call ruby/debugger/ruby-16236.rb:10 new 1
c_call ruby/debugger/ruby-16236.rb:10 initialize 2
c_return ruby/debugger/ruby-16236.rb:10 initialize 2
c_return ruby/debugger/ruby-16236.rb:10 new 1
c_call ruby/debugger/ruby-16236.rb:10 backtrace 1
c_return ruby/debugger/ruby-16236.rb:10 backtrace 1
raise ruby/debugger/ruby-16236.rb:10 1
c_call ruby/debugger/ruby-16236.rb:12 === 2
c_return ruby/debugger/ruby-16236.rb:12 === 2
line ruby/debugger/ruby-16236.rb:12 2
line ruby/debugger/ruby-16236.rb:14 1
~~~
--
https://bugs.ruby-lang.org/