Recently, I used the Mono.cecil to modify another assembly, exactly my aim 
is to instrumentate that program. So I use the ILProcessor.InsertBefore to 
add some new instructions before each ot instructions of objected assembly 
to show its execution trace. At begining, it works well, BUT, when the 
program contains the instruction, br.s, it goes wrong. I dump the original 
and modified IL codes, and find the modified IL codes gived a wrong 
destination or miss the destination. For example, there is an instruction 
like this:
IL_000c: brtrue.s IL_001b
Obviously, its destination is IL_001b
after modified the assembly, its destination should be IL_01c4 since I add 
new instructions, but actually, the program missed it or sometimes it gives 
a wrong place(I haven't figured out which code leads to the different 
situations, but usually it will miss the destination.)
I don't know if it is a bug of the ILProcessor.InsertBefore or I have made 
some mistake?
Really appreciate your precious advice or discussion. Thank you.

-- 
-- 
--
mono-cecil
--- 
You received this message because you are subscribed to the Google Groups 
"mono-cecil" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to