Sheerpower Scripting Debugger Extension
Debugging Extension for the Sheerpower Language (Touch Technologies Inc.) Written by cdturner and Dan Esbensen, with the cooperation of E-closing.com and TTINET
This provides basic debugging support for sheerpower scripts (spsrc files).
Set Breakpoints break into running program attach to running process basic variable scopes (global, local, routine parameters, routine return parameters) modify variable values mirror sheerpower console output redirect sheerpower console output type sheerpower commands into the console.
This debugger extension compliments the sheerpower language extension that provides basic sheerpower language support.
This debugger extension is currently experiemental, and a little unstable. If worse comes to worse, restart your visual studio code editor, and it should reset.
When a program is executed it will break into the debugger at the first line. This looks odd, but works. At some point you will be able to choose whether it stops or not.
Breakpoints can be set by clicking in the left hand column just slightly to the left of where the line numbers are in a file. a little red dot will appear in the margin to show you have a breakpoint. click on the red dot to remove it.
Future: we will also support conditional breakpoints at some point.
These are not currently supported. Please dont use them, it screws up the rest of the debugger for some reason. It will be implemented in the future.
these are very similar keys to visual studio in C# mode, so they should be familiar.
Start Debugging Session
Put the mouse cursor in a window that is a spsrc file, and press F5 and it will start the script under the debugger. There is currently a pause for upto 30 seconds whilst it syncs its conversation between the editor and the debugger.
Keys: F5 command name: sheerpower-debug.launchDebugger
Attach to Debugging Session
Future: as above, but press Shift-F5, this will present a list of running sp4gl.exe processes so you can select which one you wish to attach to. This does require the process to have been started with /DEBUG on the command line.
Keys: Shift-F5 command name: sheerpower-debug.attachDebugger
Run Without Debugging
Keys: Ctr-F5 from the sheerpower language extension, run sheerpower script without debugging. command name: sheerpowerBasic.runSheerpower
Optional Language Extension Control Parameters
The debugging extension exposes many properties that can be used to control how the server responds.
0.1.0 initial demo release for the team
Support for arrays in variables area. Support for multi dimensional arrays in the variables area. support for structures in variables area. Set current statement (moving the current execution to another line) Hover over variable to see value. Evaluate variable taking care of prefixing from current scope. Exception breakpoints.
Exposing basic properties for setting trace mode, and break on start. implement the picker for running process. can we probe the process to find out if its in debug mode ?