[Mono-list] Why doesn't Mono include full stack trace information into exception?

Dave Curylo curylod at asme.org
Mon Dec 30 19:08:55 UTC 2013


On Dec 30, 2013, at 9:22 AM, Andrei Faber <andrei.faber at gmail.com> wrote:

> Why debugging symbols are required to show full stack trace? MS .NET doesn't require that.

It’s sort of tricking you when you run it on the same Windows machine where you built it.  If you copy that same ConsoleApplication2.exe built by MS.NET to a different Windows machine and run it, you will not see the detailed stack trace either.  On a different Windows machine from the one where I built your sample code, I get this minimal stack trace:

System.ApplicationException: Error in the application.
	at ConsoleApplication2.Program.Main(String[] args)

I’m not sure how MS.NET does this magic, but it’s really not important - I expect you will run your code on other machines than where you build it.

Jonathan is right that the stack trace is also less detailed because it’s inlined by the JIT, but this is also the same behavior as MS.NET.  Disabling optimizations would be necessary for either compiler to stop inlining.


More information about the Mono-list mailing list