>From inside the mono runtime, the proper way to walk the stack >frames in a thread is to use the mono_walk_stack() function, there >are a couple of examples of its use in mini/mini-exceptions.c.
For a HelloWorld application, I make a call to mono_jit_walk_stack from an unhandled exception filter that is called on an x86 breakpoint exception within Console.WriteLine JITed code. I determine current_ip & current_bp from the exception context information that is available to me in the exception filter. I do the following within mono_jit_walk_stack MONO_CONTEXT_SET_IP (&ctx,current_ip); MONO_CONTEXT_SET_BP(&ctx,current_bp); The stack walk within mono_jit_walk_stack tells me there are 3 methods WriteLine, Main, runtime_invoke_void. I was thinking that the stack walk would give me the entire call stack starting from Console.WriteLine and going up all the way through the various class library corlib methods and eventually ending up in Main of my HelloWorld. I basically expected to see a huge stack walk. Any idea why my stack walk shows me only 3 methods? Any clues would be of great help. Thanks very much! _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list