[Issue 21864] New: Line numbers and file names wrong in stack trace for Dward debug info
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Apr 26 01:12:47 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=21864
Issue ID: 21864
Summary: Line numbers and file names wrong in stack trace for
Dward debug info
Product: D
Version: D2
Hardware: x86_64
OS: Mac OS X
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: bugzilla at digitalmars.com
As reported https://github.com/dlang/dmd/pull/12466#issuecomment-826404674
Followup to https://issues.dlang.org/show_bug.cgi?id=20460
it's actually quite easy to reproduce, but you need two modules at least.
module test20460a;
import test20460b;
void main ()
{
foo(); // L7
}
int bar ()
{
throw new Exception("Hello"); // L12
}
module test20460b;
import test20460a;
void foo ()
{
// Some comment so that the call is at L8
bar();
}
Currently, if I try to compile and run this (with upstream DMD):
% dmd --version
DMD64 D Compiler v2.096.0
Copyright (C) 1999-2021 by The D Language Foundation, All Rights Reserved
written by Walter Bright
% dmd -g test20460a.d test20460b.d
% ./test20460a
object.Exception at test20460a.d(12): Hello
----------------
test20460a.d:12 int test20460a.bar() [0x108407227]
test20460a.d:13 void test20460b.foo() [0x108407238]
test20460a.d:7 _Dmain [0x1084071ac]
Notice that multiple things are wrong:
Only test20460*a*.d shows up in the trace, but the second frame is in
test20460*b*.d;
Except for the first (the one in main), line number are wrong;
--
More information about the Digitalmars-d-bugs
mailing list