digitalmars.D.bugs - [Issue 6218] New: Stack trace possible improvement
- d-bugmail puremagic.com (66/66) Jun 27 2011 http://d.puremagic.com/issues/show_bug.cgi?id=6218
http://d.puremagic.com/issues/show_bug.cgi?id=6218 Summary: Stack trace possible improvement Product: D Version: D2 Platform: x86 OS/Version: Windows Status: NEW Severity: enhancement Priority: P2 Component: druntime AssignedTo: nobody puremagic.com ReportedBy: bearophile_hugs eml.cc This comes after the closed bug 4911 and a short discussion: http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.learn&article_id=27836 http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.learn&article_id=27840 http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D.learn&article_id=27843 Assuming that the file "test.raw" is absent, this program: import std.stdio: File; void foo() { auto f = File("test.raw", "r"); f.write("hello"); } void bar() { foo(); } void main() { bar(); } with DMD 2.053 gives at runtime (using -g): std.exception.ErrnoException std\stdio.d(286): Cannot open file `test.raw' in mode `r' (No such file or directory) ---------------- ...\test.d(8): void test.bar() ...\test.d(10): _Dmain ---------------- While on OS X it's something like this, it shows the name of the function ("foo") where the File contructor is called too: std.exception.ErrnoException std/stdio.d(286): Cannot open file `test.raw' in mode `r' (No such file or directory) ---------------- 5 test 0x000347fa safe shared(core.stdc.stdio._iobuf)* std.exception.errnoEnforce!(shared(core.stdc.stdio._iobuf)*, "std/stdio.d", 286).errnoEnforce(shared(core.stdc.stdio._iobuf)*, lazy immutable(char)[]) + 90 6 test 0x00033443 ref std.stdio.File std.stdio.File.__ctor(immutable(char)[], const(char[])) + 87 7 test 0x00002aea void test.foo() + 58 8 test 0x00002b2f void test.bar() + 11 9 test 0x00002aab _Dmain + 11 10 test 0x000146bb extern (C) int rt.dmain2.main(int, char**).void runMain() + 23 11 test 0x00014265 extern (C) int rt.dmain2.main(int, char**).void tryExec(scope void delegate()) + 29 12 test 0x00014703 extern (C) int rt.dmain2.main(int, char**).void runAll() + 59 13 test 0x00014265 extern (C) int rt.dmain2.main(int, char**).void tryExec(scope void delegate()) + 29 14 test 0x000141ff main + 179 15 test 0x00002a95 start + 53 ---------------- Is is possible for the stack trace on Windows to show the "foo" function too? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jun 27 2011