digitalmars.D.bugs - [Issue 14885] New: ideas for prettier and more useful backtraces
- via Digitalmars-d-bugs (64/64) Aug 07 2015 https://issues.dlang.org/show_bug.cgi?id=14885
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 puremagic.com Reporter: code 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 ---- --
Aug 07 2015