[Issue 14885] New: ideas for prettier and more useful backtraces
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Fri Aug 7 11:09:39 PDT 2015
https://issues.dlang.org/show_bug.cgi?id=14885
Issue ID: 14885
Summary: ideas for prettier and more useful backtraces
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: enhancement
Priority: P1
Component: druntime
Assignee: nobody at puremagic.com
Reporter: code at dawg.eu
Some trivial to implement ideas to make backtraces more useful.
Turn backtraces upside down.
Often one get's a long backtrace on the console and has to scroll up skipping
all the internal/framework frames to find the actual function that threw an
exception and see the error message.
It would be a lot easier if the backtrace was from top to bottom with the
message below that.
----
std.conv.ConvException@/usr/include/dmd/phobos/std/conv.d(2013): Unexpected end
of input when converting from type string to type int
----------------
./bug(pure @safe int std.conv.toImpl!(int,
immutable(char)[]).toImpl(immutable(char)[])+0x26) [0x42bdae]
./bug(pure @safe int
std.conv.to!(int).to!(immutable(char)[]).to(immutable(char)[])+0x20) [0x42ba88]
./bug(_Dmain+0x1a) [0x42ba62]
./bug(_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv+0x1f)
[0x42de27]
./bug(void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).tryExec(scope void delegate())+0x2a) [0x42dd82]
./bug(void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).runAll()+0x2b) [0x42dde3]
./bug(void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).tryExec(scope void delegate())+0x2a) [0x42dd82]
./bug(_d_run_main+0x1d2) [0x42dd02]
./bug(main+0x12) [0x42bec2]
/lib64/libc.so.6(__libc_start_main+0xf0) [0x7f0f30c17fe0]
----
vs.
----
/lib64/libc.so.6(__libc_start_main+0xf0) [0x7f0f30c17fe0]
./bug(main+0x12) [0x42bec2]
./bug(_d_run_main+0x1d2) [0x42dd02]
./bug(void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).tryExec(scope void delegate())+0x2a) [0x42dd82]
./bug(void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).runAll()+0x2b) [0x42dde3]
./bug(void rt.dmain2._d_run_main(int, char**, extern (C) int
function(char[][])*).tryExec(scope void delegate())+0x2a) [0x42dd82]
./bug(_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv+0x1f)
[0x42de27]
./bug(_Dmain+0x1a) [0x42ba62]
./bug(pure @safe int
std.conv.to!(int).to!(immutable(char)[]).to(immutable(char)[])+0x20) [0x42ba88]
./bug(pure @safe int std.conv.toImpl!(int,
immutable(char)[]).toImpl(immutable(char)[])+0x26) [0x42bdae]
----------------
std.conv.ConvException@/usr/include/dmd/phobos/std/conv.d(2013): Unexpected end
of input when converting from type string to type int
----
--
More information about the Digitalmars-d-bugs
mailing list