Sheerpower Scripting Debugger ExtensionDebugging Extension for the Sheerpower Language (Touch Technologies Inc.) Written by cdturner and Dan Esbensen, with the cooperation of E-closing.com and TTINET FunctionalityThis 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. InstructionsThis 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. BreakpointsBreakpoints 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. WatchThese 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. Commands/Keysthese are very similar keys to visual studio in C# mode, so they should be familiar. Start Debugging SessionPut 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 SessionFuture: 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 DebuggingKeys: Ctr-F5 from the sheerpower language extension, run sheerpower script without debugging. command name: sheerpowerBasic.runSheerpower Optional Language Extension Control ParametersThe debugging extension exposes many properties that can be used to control how the server responds. TBD Releases0.1.0 initial demo release for the team Currently MissingSupport 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 ? ...etc... Others. |