D 2.0 Stacktrace - similar problems
Austin Hastings
ah08010-d at yahoo.com
Sat Oct 9 15:52:06 PDT 2010
On 10/8/2010 6:47 PM, Denis Koroskin wrote:
> On Sat, 09 Oct 2010 02:36:30 +0400, Austin Hastings <ah08010-d at yahoo.com> wrote:
>
>> object.Exception: Test
>> ----------------
>> 00 rtdmain2mainrunMain
>> 01 rtdmain2mainrunAll
>> 02 main
>> 03 mainCRTStartup
>> 04 RegisterWaitForInputIdle
>>
>> Thanks for your help, Benjamin!
>>
>> My next question would be, why does the stack trace look this way? I'm
>> throwing the exception from D's main. I assume that's entry #02. But
>> what are the other two entries, and why are they on the stack?
> D main is not the true program entry point, there is a lot of
> preparation done (gc_init(), module init, etc) before your main() takes
> control, and these entries can be safely stripped since they are usually
> not what you are looking for.
Denis,
Sure, there's stuff in assembly that calls main. What I'm asking about
is the stuff *inside* main that isn't in my code. As I see it, either:
1. The function I named "main" is at #02 on the above, in which case
there are two subroutines that I didn't call on the stack. Then I'd like
to know what they are, and whatever else anyone can tell me about them.
2. The function I named "main" is actually "rtdmain2mainrunMain", in
which case (a) why was it renamed this horrible value; and (b) what
other non-intuitive name manglings (!!) can I expect? (As if there was
such a thing as an intuitive name mangling. :-)
3. The function I named "main" is actually "RegisterWaitForInputIdle",
which will totally surprise me, in which case please explain why the
stack trace is upside down, and why that name was chosen?
=Austin
More information about the Digitalmars-d-announce
mailing list