Revision Difference
Debugging#544714
<cat>Code.Intro</cat>
<title>Debugging</title>
#Debugging using Visual Studio
##Starting in debug mode
S&box supports debugging, it's as simple as opening up the [generated](https://wiki.facepunch.com/sbox/Making_Gamemode#generatingproject) `s&box.sln` and hitting **Debug** > **Start Debugging** ( <key>F5</key> ). This will launch a new instance of s&box and attach a debugger to it.
##Attaching a debugger
You can also attach a debugger to an already running instance of the game by going to **Debug** > **Attach to Process** ( <key>Ctrl</key> + <key>Alt</key> + <key>P</key> ) and selecting `sbox.exe` in the list of processes.
After this you can reattach the debugger to the same process using **Debug** > **Reattach to Process** ( <key>Shift</key> + <key>Alt</key> + <key>P</key> ).
##Using breakpoints
![Breakpoint](https://files.facepunch.com/wiki/files/a59bc/8d90cbdd54b5728.png)
Breakpoints allow you to pause execution when it reaches specified points in your code (breakpoints). To add or remove a breakpoint click on the left from the line of code you want to pause or put the caret on this line and press <key>F9</key>. A red circle should appear and the line should turn red.
When this line will be reached execution will pause allowing you to inspect variables values, continue execution step-by-step and more. After you are done press <key>F5</key> to continue execution.
Breakpoints can be added and removed freely in runtime, unlike code changes they don't require recompiling.
##Disabling Edit and Continue
You may notice that you get green underlines while debugging and editing code, this is due to **Edit and Continue** being enabled in the Visual Studio settings, normally this is a good thing but due to s&box hotloading it needs to be disabled.
You can disable this by going to **Tools** > **Options** > (or **Debug** > **Options**) > **Debugging** > **General** then scrolling about half way down and unchecking **Edit and Continue**.
#Debugging using Visual Studio Code
Refer to [Setting up Visual Studio Code](https://wiki.facepunch.com/sbox/Setting_up_VSCode#addingdebuggerconfiguration) to setup debugging for the time being
Refer to [Setting up Visual Studio Code](https://wiki.facepunch.com/sbox/Setting_up_VSCode#addingdebuggerconfiguration) to setup debugging for the time being⤶
⤶
#Debugging using Rider⤶
⤶
Refer to [Setting up Rider](https://wiki.facepunch.com/sbox/Setting_up_Rider#debugging) to setup debugging for the time being