Debugging tips and tricks Jiří Pokorný jiri.pokorny@solarwinds.com
Get Process ID (PID) and its command line Start debugging Get Process ID (PID) and its command line Debug > Start new instance Attach to process/Detach all Start Windows Service (Debugger.Launch)
Process and Thread in debugging Process Window Threads window Call stack per Thread Freeze/Thaw thread Switch to Thread Windows Parallel Watch/Stack
Debugging without source code What is the PDB? Get the pdb from symbol server Symbols cache Use dotPeek build in Symbol server to decompile source code
Debug assembly binding Use Modules window to verify loaded symbols Assembly Binding Log Viewer (Fuslogvw.exe)
Debugging web applications Debugging of both browser and server JavaScript debugging allowed only for attached debugger JavaScript „debugger;“ W3wp process, its command line and application pool Window Exception Settings – break on custom exception
Beakpoint location/move Breakpoint for each thread Simple tips Beakpoint location/move Breakpoint for each thread Override ToString method DebugerDisplay, DebuggerBrowsabel, DebuggertypeProxy Break on function name Startup arguments Visual studio hosting process
Installed with Visual Studio Standalone Install usually fails Remote debugger Installed with Visual Studio Standalone Install usually fails Needs identical credentials on both machines Attach to process only on different machine
Solarwinds 30+ products for IT Management Microsoft stack: C#, MS SQL, AngularJS Brno office – Solarwinds R&D center https://www.solarwindsmeetup.com/ Career opportunities http://solarwinds.jobs/ Visit our booth