A Better Debugging Experience
Debugging in Visual Studio has always been great. With ReSharper, it gets better. Let's look at some of the improvements ReSharper brings.
Inline Debugging Adornments
Traditionally, Visual Studio users would have to rely on the Auto, Locals, and Watch windows to see what values are in the current scope. With ReSharper, you can step through your code base and see values displayed directly in the editor. This is especially useful in looping scenarios, where you can see values change in real-time.
ReSharper provides an improved replacement for Visual Studio's DataTips. You can search for specific values in the current context by typing in the DataTip. DataTips will say open until you click away or press the Escbutton.
You can also can choose which values get displayed inline, so you don't have to write a
DebuggerDisplay attribute. ReSharper lets you specify these at runtime!
Go to Breakpoints and Breakpoints Window
When dealing with breakpoints, it's easy to forget when and where you placed them. ReSharper comes with Go to Breakpoints - you can trigger it using the Ctrl+Alt+F9 shortcut.
ReSharper also adds a custom breakpoints tool window, where you can:
- Group breakpoints by file/folder/project/type/member
- Type to search for breakpoints
- Enable/disable, or remove breakpoints
- See a preview of the code where you set the breakpoint
- And more!
Tip: To track a symbol across your solution, use the Find Results tool window and then Set a Breakpoint on all occurrences.
Debugging Third-Party Assemblies
It can be frustrating when assemblies don't ship with debugging information (PDB). When you come across an assembly with no symbols loaded, you can use ReSharper's decompiler to generate a PDB and load it into the debugger. Once done, you can debug third-party code as if it was your own.