WishReflector.PDB
Here is an idea for a kick-ass Reflector plugin. We already have Reflector plugins for outputting entire projects out, but what I would really like to see is a plugin that takes it one (big) step further and generate the PDB as well.
A PDB file allows Visual Studio to debug, it contains the correlation between the compiled code and the source code, enabling stepping into the code. The important idea here is that Reflector is capable of producing botht he source code and the PDB, which would allow us to debug into assemblies that we don't have the source to.
The big benefit of generating the source and compiling ourselves is that we don't need to do it for the whole chain. The immediate use of this would be to finally see what black magic is making the view state put values in completely random places.
More posts in "Wish" series:
- (23 Jun 2007) Distributable Windows-based Virtual Machines
- (14 Apr 2007) Reflector.PDB
- (21 Jul 2006) Assembly Redirection For The Compiler
- (31 Mar 2006) Reflector.Debugging
Comments
I'm so with you on that...
That would be cool, but aren't many if not most methods in Microsoft DLLs marked with an attribute that causes the debugger not to trace through them anyway?
That would be extremely awesome to have. I'd be especially interested in seeing how Viewstate is truly constructed in a piece-by-piece scenario.
Yes, there are, but they aren't that many, and they usually for generated code that you aren't interested in.
The reason that is skips the MS dlls is because it has no source for them.
Presumably, one can try to use ilasm.exe to generate the pdb (/debug option, I think).
Speaking of which, does anyone know of a reference that details the structure of a pdb file? I searched, but couldn't find anything ...
I read an article that describes how to do that a few years ago. It is pretty complex process but I tried it and it works.
U can take a look at it here: http://www.codeproject.com/dotnet/Debug_Framework_Classes.asp
Reshef,
Thanks for the link, while I can read IL, I would rather:
A/ work against the officially compiled code, including any post-processing that might have been done.
B/ Not read IL if I can read real language.
Comment preview