Hello,

> I'm using reflection.emit and dynamic method to emit code at runtime.  
> Sometimes I have errors in the code I emit, but the only feedback I  
> get is InvalidProgramException with an IL offset. Is there any way to  
> find out what is wrong when I get these errors? If I get something like
> 
> IL_0585: call      0x000000ed
> 
> Mono must know what was wrong to throw the exception. Not enough on  
> the stack for example? Is there any way to get it to give me more  
> information? Is there any way to easily work out where in my code  
> IL_0585 was emitted?

Yes, run Mono on gdb (you will need a mono that you built with debugging
symbols) and then run:

        export MONO_DEBUG=break-on-unverified
        gdb mono
        (gdb) run program.exe

It will break at the place where it fails verification, look at the code
around it.

_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to