Greetings. I've switched to Cecil 0.9 successfully.
Good news: PDB files are written almost properly - thay are large, debugger-valid and working fine. Unless one annoying situation I've mentioned before (about "yieldy" functions): http://www.google.com/url?sa=D&q=http://social.msdn.microsoft.com/Forums/en-US/csharpide/thread/024f9019-699d-44e1-b0f9-43da50782e7d&usg=AFQjCNGxaJAnv2A_hBJfqQQPi7ThwBR30w - these variables are still lost in the debugger. By the way, two litte fixes: 1. diff from MethodBodyRocks.GetParameter(): if (method.HasThis) { + if (index == 0) + return body.ThisParameter; index--; Otherwise Cecil crashes on accessing this in IL during SimplifyMacro() method execution. 2. in MetadataImporter.ImportAssemblyName() it's useful to check for (name.PublicKeyToken == null) before taking key token length for byte array - or Cecil crashes on assemblies without PublicKeyToken. Great job anyway. I'm looking forward to fixing "yieldy" bug - after that Cecil will be perfect for me! WBR, Alex On Apr 8, 9:21 pm, Jb Evain <[email protected]> wrote: > On Thu, Apr 8, 2010 at 6:54 PM, Александр Буряк > > <[email protected]> wrote: > > In 531630 VS successfully loads both assembly and PDB file. > > The assembly works fine, but PDB is almost empty. > > This thread author's case is identical as far as I've understood. > > The case of 531630 will be fixed as well. > > > Original PDB produced by compiler exposes all variables - debugger uses them > > perfectly, ildasm can see them. > > But it seems that loading+saving of that PDB looses such variables, ildasm > > still sees them, but debugger - is not. > > That sucks. It's indeed maybe some special flags, I'll investigate and > see if I can get it for monday. > > -- > Jb Evain <[email protected]> -- -- mono-cecil To unsubscribe, reply using "remove me" as the subject.
