Debugging Python scripts and add-ins using Spyder isn't as easy as we would like it to be but once you figure out the process it's not too bad. I know I had a similar experience to what you're seeing when I first starting using it. Here's are some steps to debugging a script. The steps for debugging an add-in are slightly different.
Scripts
There are two ways to start the debugging process for a script. You can start debugging from the "Scripts and Add-Ins" dialog or from Spyder.
From the "Scripts and Add-Ins" Dialog
- Run the "Scripts and Add-Ins" command.
- Choose the script from the list of scripts.
- Click the drop-down button beside the "Run" button and choose "Debug".
- If Spyder isn't running, it will be started and a break point will be automatically set at the first line in the program and the execution will break at that point.
- If Spyder is already running you'll get one of two responses. If you haven't already run the script, Spyder will activate and the program will execute but will stop at a break point at the top of the program, like in step 4. If you've already run or debugged the script from Spyder a dialog like the one shown below will appear. Clicking "Yes" will then start execution with it stopped at the break point at the top of the program. This is likely what's happening to you and you think Fusion 360 has locked up. In reality there's a dialog up waiting for you to respond. It doesn't always pop to the front but I believe if you activate Spyder you'll see it.

From Spyder
You can also start the debugging process for a script directly from Spyder by using the button I've highlighted below. If you don't see it, you can go to the "View" menu and make sure the "Debug toolbar" is visible.

This will result in the same behavior as previously described in that you might first have the dialog appear that you need to dismiss and then execution will start but will be stopped at a break point on the first line.
Add-Ins
To debug an Add-In you always need to start the debugging process from the "Scripts and Add-Ins" dialog and never from within Spyder. You should also stop execution from the "Scripts and Add-Ins" dialog. Besides that, debugging is the same.
Debugging
To debug an Add-In you always need to start the debugging process from the "Scripts and Add-Ins" dialog and never from with in Spyder. You should also stop execution from the "Scripts and Add-Ins" dialog. Besides that, debugging is the same. You can add break points at any time by selecting a line pressing F12 or by double-clicking in the border of the code window to the left of the code line. Using the other buttons on the debug toolbar you can continue running (until the next break point) or step through line-by-line. it's also useful to use the Console window to check the values of variables.
Hopefully this helps.