>Apparently, you're creating a blank pdb from scratch for an assembly, and expect VS to be able to use it for debugging
I also found this process too magic too work :) > If you have a pdb for an assembly that differs from an assembly only by its strong name, metadata wise, the easiest thing to do is to patch the pdb to change the module GUID in it, and you're good to use it in VS. Yes this is my case. http://www.debuginfo.com/tools/chkmatch.html does some patching only if age matches but its not good in my case. I thought that cecil could help me patch the pdb. Cecil provides a high level api that knows where the pdb age is located. Isn't possible to use it to make this patching less painless? -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Jb Evain Sent: Tuesday, December 06, 2011 11:53 AM To: [email protected] Subject: Re: [mono-cecil] Re: debugger is not breaking Hi, It's not exactly clear to me what you're trying to achieve. Apparently, you're creating a blank pdb from scratch for an assembly, and expect VS to be able to use it for debugging. Sadly that's now how it works :) A pdb contains sequence points that the debugger uses to be able to place breakpoints. If you have a pdb for an assembly that differs from an assembly only by its strong name, metadata wise, the easiest thing to do is to patch the pdb to change the module GUID in it, and you're good to use it in VS. On Tue, Dec 6, 2011 at 3:07 AM, Tolis <[email protected]> wrote: > Hi > I have a symbol file generated for an assembly. I want to use the same > symbol file for another assembly that differs only by its strong key. > I do not want to tamper the second assembly I just want to be able to > debug it. I have tried a code similar to > > foreach (var file in GetFiles(path)) { try > { fileName = Path.GetFileName(file); > Console.WriteLine("Creating symbols for " + fileName); > var publish = new > System.EnterpriseServices.Internal.Publish(); > publish.GacRemove(file); var assemblyDefinition = > AssemblyDefinition.ReadAssembly(file, new ReaderParameters()); > var writerParameters = new WriterParameters { WriteSymbols > = true }; assemblyDefinition.Write(file, > writerParameters); publish.GacInstall(file); > Console.WriteLine("Symbols created for " + fileName); > } catch (BadImageFormatException) { } > catch (Exception e) { Console.WriteLine("Error > with " + fileName + e.Message); } } The > pdb file is generated and VS module list says that symbols are loaded > ok. However debugging is not possible On Nov 29, 4:35 am, Tolis > <[email protected]> wrote: >> Hi >> >> I have used the approach from githubhttps://github.com/jbevain/cecil/wiki/Debug-symbols. >> The pdb was created and I have checked its validity >> usinghttp://www.debuginfo.com/tools/chkmatch.html. I run the >> executable and attach to its proccess using VS2010. In the modules >> list I see that symbols are loaded however my breakpoints are >> disabled > > -- > -- > mono-cecil -- -- mono-cecil -- -- mono-cecil
