From: Joshua Ballanco Date: 2013-07-23T04:56:13+09:00 Subject: [ruby-core:56109] Re: [CommonRuby - Feature #8661][Open] Add option to print backstrace in reverse order(stack frames first & error last) --089e0160ca3c6c6d0d04e21f11db Content-Type: text/plain; charset=UTF-8 You can already accomplish something like this yourself: begin raise "Hello!" rescue Exception => e puts e.backtrace.reverse.join("\n") puts e.message end Simple! On Sat, Jul 20, 2013 at 11:20 PM, gary4gar (Gaurish Sharma) < gary4gar@gmail.com> wrote: > > Issue #8661 has been reported by gary4gar (Gaurish Sharma). > > ---------------------------------------- > Feature #8661: Add option to print backstrace in reverse order(stack > frames first & error last) > https://bugs.ruby-lang.org/issues/8661 > > Author: gary4gar (Gaurish Sharma) > Status: Open > Priority: Normal > Assignee: > Category: > Target version: > > > Currently the way ruby prints the backtrace is that the error comes first > & then the stack frames. like this > > Main Error Message > stack frame 1 > stack frame 2 > stack frame 3 > ..... > > this is perfectly fine provided > > 1. Backstraces are short, so fits in terminal.hence, no need to scroll. > 2. you read it from top to bottom. > > > But, I am a rails developer where > > 1. Backstraces are always HUGE, therefore seldom don't fit in terminal. > Means LOTS of scrolling to do everytime we get an error. > 2. in terminal we tend to read backstraces from bottom to top, especially > when tailing(tail -f) the production logs. > 3. people, who practice Test-driven development literally spend most of > their time scrolling to read backstraces to the point most end up buying a > larger display. > > Proposed Solution: > Please add a way so we can configure backstraces to be printed in reverse > order. so if you are reading from bottom, say from terminal, you can get > the main error message without need to scroll. like this > > > > stack frame 3 > stack frame 2 > stack frame 1 > Main Error Message > ..... > > this would save lot of time because when the error message is print at the > bottom, no need to scroll for reading it. Not sure if this can be done > today. I tried Overriding Exception#backtrace but it caused stack level too > deep & illegal hardware instruction Error. > > Attached are currently what backstrace currently looks like & how there be > an option to make it look for comparison. > > > -- > http://bugs.ruby-lang.org/ > > --089e0160ca3c6c6d0d04e21f11db Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
You can already accomplish something like this yourself:
=C2=A0 =C2=A0 begin
=C2=A0 =C2=A0 =C2=A0 raise = "Hello!"
=C2=A0 =C2=A0 rescue Exception =3D> e
=
=C2=A0 =C2=A0 =C2=A0 puts e.backtrace.reverse.join("\n")
=C2=A0 =C2=A0 =C2=A0 puts e.message
=C2=A0 =C2=A0 end
<= div>
Simple!


On Sat, Jul 20, 2013 at 11:20 PM, gary4gar (Gauris= h Sharma) <gary4gar@gmail.com> wrote:

Issue #8661 has been reported by gary4gar (Gaurish Sharma).

----------------------------------------
Feature #8661: Add option to print backstrace in reverse order(stack frames= first & error last)
https:= //bugs.ruby-lang.org/issues/8661

Author: gary4gar (Gaurish Sharma)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:


Currently the way ruby prints the backtrace is that the error comes first &= amp; then the stack frames. like this

=C2=A0 Main Error Message
stack frame 1
stack frame 2
stack frame 3
.....

=C2=A0this is perfectly fine provided

1. Backstraces are short, so fits in terminal.hence, no need to scroll.
2. you read it from top to bottom.


But, I am a rails developer where

1. Backstraces are always HUGE, therefore seldom don't fit in terminal.= Means LOTS of scrolling to do everytime we get an error.
2. in terminal we tend to read backstraces from bottom to top, especially w= hen tailing(tail -f) the production logs.
3. people, who practice Test-driven development literally spend most of the= ir time scrolling to read backstraces to the point most end up buying a lar= ger display.

Proposed Solution:
=C2=A0Please add a way so we can configure backstraces to be printed in rev= erse order. so if you are reading from bottom, say from terminal, you can g= et the main error message without need to scroll. like this



stack frame 3
stack frame 2
stack frame 1
=C2=A0Main Error Message
.....

this would save lot of time because when the error message is print at the = bottom, no need to scroll for reading it. Not sure if this can be done toda= y. I tried Overriding Exception#backtrace but it caused stack level too dee= p & illegal hardware instruction Error.

Attached are currently what backstrace currently looks like & how there= be an option to make it look for comparison.


--
http://bugs.ruby-l= ang.org/


--089e0160ca3c6c6d0d04e21f11db--