Collateral exceptions seem to be broken

Jonathan M Davis jmdavisProg at gmx.com
Sun May 8 15:14:52 PDT 2011


> Yeah it seems to be fixed in 2.053 beta.
> 
> But why is the stack trace printed out? Is that the new norm when
> printing caught exceptions with write()?
> 
> Regardless of that, I don't get any symbols printed out when building
> with dmd -g -debug:
> 
> C:\dmd2\windows\bin>dmd -debug -g test.d
> C:\dmd2\windows\bin>test
> object.Exception at test.d(24): thrown from foo
> ----------------
> 42BA60
> 42B8D7
> 40203E
> 4059B8
> 4059F7
> 4055F3
> 45BEED
> object.Exception at test.d(36): thrown from bar #3
> ----------------
> 42BA60
> 42B8D7
> 402115
> 40203E
> 4059B8
> 4059F7
> 4055F3
> 45BEED
> object.Exception at test.d(36): thrown from bar #2
> ----------------
> 42BA60
> 42B8D7
> 4021D6
> 402115
> 40203E
> 4059B8
> 4059F7
> 4055F3
> 45BEED
> object.Exception at test.d(36): thrown from bar #1
> ----------------
> 42BA60
> 42B8D7
> ...
> 
> Where are the symbols? :o

Recent work has been done on chained exceptions, so that could definitely 
change their behavior. And you should definitely get the symbols on Linux if 
you compile with the standard dmd.conf. If you aren't doing that for some 
reason, then you need to make sure that you use -L--export-dynamic.

- Jonathan M Davis


More information about the Digitalmars-d mailing list