Debugging Obsfuscated Code
JohnRedGater
Posts: 17
Apparently there is a way of debugging obfuscated code using the generated PDB file and VS 2010, but I can't seem to find out how to do this. Is there any documentation on how to do this? If not, what are the steps to do this. I'm getting errors that only occur after the code has been obsfuscated.
Comments
It's pretty easy - just use the "generate debugging information" option when you build in SmartAssembly. That will make a PDB that contains information relevant to the source code before the assembly was processed with SA. Once you have the PDB, you can attach Visual Studio or your debugger of choice to the process when you run it, set breakpoints, and do the normal things you usually do to troubleshoot regular debug builds.
I am able to start in debugging mode, but I can't watch any of the variables. It displays "The name 'xxxx' does not exist in the current context.
Also, the debugging behavior is strange. I can't step into a line of code and stepping over a line sometimes brings up a source not available. Is there something I may be doing wrong.
I made sure not to obfuscate source code URLs in the resulting PDB file.
Here's the relevant modifications to my Visual Studio 2010 project file:
<UsingTask TaskName="SmartAssembly.MSBuild.Tasks.Build" AssemblyName=" SmartAssembly.MSBuild.Tasks, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7f465a1c156d4d57" />
<Target Name="AfterBuild" Condition=" '$(Configuration)' == 'Release' ">
<SmartAssembly.MSBuild.Tasks.Build ProjectFile="Tester.saproj" output="$(OutDir)$(TargetName)$(TargetExt)"/>
</Target>