As the title says an incorrect call stack is shown when a user defined exception is thrown. This error does not appear on hardware exceptions(like dereferencing null pointers).
Test case:
import std.stdio;
void func1() {
func2();
}
void func2() {
//int *p=null;
//*p=32;
throw new Exception("msg");
}
void main() {
func1();
}
To get the call stack the "Thrown" checkbox for win32 exceptions must be set in the Debug->Exceptions... menu, because the D runtime catches all unhandled exceptions.
I'm using VS2008 shell with Visuald 0.3.15 on WinXp? and dmd 1.062.