Stack traces: Difference between revisions

More correct D entry
(More correct D entry)
Line 529:
=={{header|D}}==
Compiled with the dmd compiler using the -g switch.
{{trans|Java}}
<lang d>import std.stdio, core.runtime;
 
void inner() { defaultTraceHandler.writeln; }
void middle() { inner; }
try
void outer() { middle; }
throw new Exception(null);
catch (Exception e)
writeln(e);
 
writeln("running");
}
 
void middle() {
inner();
}
 
void outer() {
middle();
}
 
void main() {
outer();
"After the stack trace.".writeln;
}</lang>
{{out}}
0x00415777<pre>0x00404FBE in core.sys.windows.stacktrace.StackTrace core.sys.windows.stacktrace.StackTrace.__ctor(uint, core.sys.windows.windows.CONTEXT*) at E:\dmd2\src\druntime\import\core\sys\windows\stacktrace.d(69)
<pre>object.Exception@test.d(5)
0x00404ACB in object.Throwable.TraceInfo core.runtime.defaultTraceHandler(void*) at E:\dmd2\src\druntime\import\core\runtime.d(646)
----------------
0x004020BC0x0040201A in void test.outerinner() at CE:\test.d(183)
0x004158EC in char[][] core.sys.windows.stacktrace.StackTrace.trace()
0x0040202C in void test.middle() at E:\test.d(4)
0x00415777 in core.sys.windows.stacktrace.StackTrace core.sys.windows.stacktrace.StackTrace.__ctor()
0x004020690x00402038 in void test.innerouter() at CE:\test.d(5)
0x004020B00x00402044 in void test.middle()_Dmain at CE:\test.d(149)
0x0040BE400x00409AAC in extern (C) intvoid rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).runAll().void runMain__lambda1()
0x004020BC in void test.outer() at C:\test.d(18)
0x0040BE760x00409A7F in extern (C) intvoid rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).void runAll()
0x004020C8 in _Dmain at C:\test.d(21)
0x0040BA790x00409997 in _d_run_main
0x0040BE40 in extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).void runMain()
0x00407FA00x004048D8 in main
0x0040BE76 in extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int function(char[][])*).void runAll()
0x0041FB2D in mainCRTStartup
0x0040BA79 in _d_run_main
0x753133AA0x76EED2E9 in BaseThreadInitThunk
0x00407FA0 in main
0x775C9EC50x77821603 in RtlInitializeExceptionChain
0x753133AA in BaseThreadInitThunk
0x775C9EF20x778215D6 in RtlInitializeExceptionChain
 
0x775C9EC5 in RtlInitializeExceptionChain
runningAfter the stack trace.</pre>
 
=={{header|DWScript}}==