You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-----
shared static this()
{
class C
{
void foo() { }
}
C c;c.foo();
}
void main()
{
}
-----
$ dmd -g -run test.d
> object.Error: Access Violation
When using the same code in main, a proper stack trace is returned:
-----
module test;
void main()
{
class C
{
void foo() { }
}
C c;c.foo();
}
-----
object.Error: Access Violation
----------------
0x0040201B in _Dmain at C:\dev\code\d_code\stack_trace_working.d(11)
0x004028E4 in extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).v
oid runMain()
0x00402974 in extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).v
oid runAll()
0x00402251 in _d_run_main
0x00402074 in main
0x004141AD in mainCRTStartup
0x766C33CA in BaseThreadInitThunk
0x77C19ED2 in RtlInitializeExceptionChain
0x77C19EA5 in RtlInitializeExceptionChain
Tested on Win 7 64bit.
The text was updated successfully, but these errors were encountered:
I hit this.
Written in core.runtime.d :
static this()
{
// NOTE: Some module ctors will run before this handler is set, so it's
// still possible the app could exit without a stack trace. If
// this becomes an issue, the handler could be set in C main
// before the module ctors are run.
Runtime.traceHandler = &defaultTraceHandler;
}
At least, it had better be changed to 'shared static this'.
Andrej Mitrovic (@AndrejMitrovic) reported this on 2013-08-19T03:09:24Z
Transferred from https://issues.dlang.org/show_bug.cgi?id=10851
CC List
Description
The text was updated successfully, but these errors were encountered: