Debugging Modules that have no Debug Information (PDB)
With ReSharper, you can debug any compiled module, even if it does not have debug information (PDB). ReSharper will decompile the module, generate PDB for it and automatically load decompiled symbols for this module into the Visual Studio debugger.
Prerequisites
Prior to debug modules that have no PDB, check the following Visual Studio settings (
):On the Cache symbol in this directory field has a valid disk path value.
options page, make sure that theOn the Enable Just My Code check box is cleared.
options page, make sure that the
However, even if one or both of these settings do not have expected values, ReSharper will suggest to correct these values automatically when you try to load symbols from decompiled modules. In this case, it will add %LOCALAPPDATA%\Temp\SymbolCache as the symbol cache directory.
Debugging
Before debugging your program or after debugging has started, you need to load symbols for each compiled module that you want to debug. You can do it in one of the following ways:
In the debug mode, open the Visual Studio's Modules window (Load Symbols with ReSharper Decompiler.
), select one of several modules, right-click the selection, and chooseIn the Process Explorer window ( ), select one of several managed modules, or one or more processes, and choose Enable Debugging in the context menu. If you choose processes, ReSharper will generate and load non-existent PDB for all managed modules in the processes.
Navigate to the desired symbol in the compiled modules, and set a breakpoint in the decompiled source. If symbols for the module where you set the breakpoint are not loaded yet, ReSharper will display a popup where you can enable debugging for this module:
Decompiling and loading symbols may take some time, so after you initiate the process in one of the above ways, ReSharper displays the progress in the Project/PDB Generation Status window.