Thursday, June 19, 2014

Debugging Class Libraries with Call Stack window and Symbol store

Hey Readers!!

After a long time I thought of writing something.
Though the current versions of SP , emphasizes on using Client OM or REST API etc so that on change code compilation can be avoided.  Still in somewhere there is no option other than using the Managed Code.
In a VS solution, including bunch of projects and having complex flow to execute , seems to time sucking and that too validate just a small piece of code.
Here's the solution !! . Write a test app (may be console/web app) and add the dll reference of project needs validation.
1)In Visual Studio-->Tools--->Options-->Debugging-->Symbols-->add the path to pdb files.
2)Each time referenced Project is modified --> Copy the dlls to gac (may be using wsp builder).As when debugging starts, debugger gets the symbols from  c:\windows\assembly\gac_msil
3)If you find that you are unable to step into the referenced project , this is because , pdb files in gac_msil folder and in compiled dlls are not matching
4)When debugging starts --> Look for Call stack window while debugger step into referenced objects--> If it shows dissembly message -->right click call  stack --> get the symbols that is added in step 1 
5) If it is unable to add the symbols which means dll is not copied to gac and pdb files are not macthing in gac_msil folder

Hope this could save the time for people struggling to debug class libraries