[Mono-dev] Debugging Busted CIL
Jim Purbrick
jimpurbrick at yahoo.co.uk
Tue Oct 4 11:44:54 EDT 2005
> > Looks like I can store a Managed Pointer in a
> > local, but not a field :-(
>
> Right, storing in a field would have both security
> and performance effects in the GC, so it's not
> allowed.
OK, to solve that problem it looks as though the best
approach is to make sure the value of the field is
saved when I'm saving the stack and then inject code
which pushes the (new) address of the field when I'm
restoring the stack, which is a faff, but not
impossible.
I think I've found the cause of my current problems
though with peverify 2 (which seems much better than
1.1 BTW). It looks as though the normal code pushes an
LLVector on to the stack while the restore code
unboxes a boxed LLVector which leaves a Managed
Pointer to an LLVector on the stack. Is there an easy
way to go from the pointer to a value?
Thanks for all your help,
Cheers,
Jim.
___________________________________________________________
How much free photo storage do you get? Store your holiday
snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com
More information about the Mono-devel-list
mailing list