Support > Debugger

Debugger progress

(1/6) > >>

The script basic debugger I have been working on is finally far enough along  to make a demo video showing its features :)
All the major design hurtles have been passed, now its just some misc wiring and cleanups left to do. Uses all open source components.

If the video looks a little fuzzy, you can set the quality to HD and it should clear up. (Click gear icon lower right, then click HD)


here is a mid beta build if anyone want to play. All of the major features are in and working. Should be quite usable.
Tested on WinXP SP3 (mostly) and Win7

Couple notes, you can only edit run time variables for types long and string. This also extends to array values of these types.
I still want to figure out how to implement a "Set Next" command to change execution to the line you want.. invalid lines and not changing scope in or out of functions being the first problem to consider in that though. I also have a mail into Peter to see what he thinks it might take to implement an eval command for an immediate window.

Looks great Dave!

--- Code: ---
This project aims to create a VB6 usable ScriptBasic Engine.
along with a an integrated IDE + debugger.

Features include:

 VB6 access class to ScriptBasic Engine
   - AddObject
   - AddCode
   ? Eval

 IDE as VB6 ActiveX control
   - intellisense
   - syntax highlighting
   - integrated debugger
      - breakpoints
      - single step
      - step over
      - step out
      - variable inspection
      - call stack
      - variable modification
      - run to line

  - auto complete/intellisense has several scopes. hit ctrl+space to trigger.
    if there is a partial identifer already typed, with only one match, the
    string will be auto completed. If there are multiple matches, then the
    filtered results will be show in intellisense list. If no matches are found
    then entire list will be shown.

    The following scopes are supported:

      - import statements - lists *.bas in specified /include directory
      - external module functions - parses the *.bas headers to build func list.
      - built in script basic functions
      - is not currently aware of script variable names
   - for module functions (ex curl::) to show up, the matching import must exist
      (include file name, must match embedded module name)

   - debugger variable inspection / modification - When debugging a list view
     of variable names, scopes, and values is kept. You can edit values by right
     clicking its list entry. Array values can be viewed by double clicking on
     its variable name to bring up the array viewer form.

     You can also display a variable value, by hovering the mouse over it in
     the IDE window. A call tip will popup showing its value. Click on the call tip
     to being up the edit value form. Longs and string values are supported. You can
     also prefix a string with 0x for hex numbers.

   - parse errors will show up in their own listview. Each error will get its own entry.
     where possible line numbers, files, and error descriptions are provided. Clicking
     on the entry will jump to that line in the IDE (if one was given by SB engine)

   - changes to scripts are automatically saved each time they are executed.

--- End code ---

I tried to compile test.exe using Visual Studio 2008 on XP.  (Visual Studio 6  w/VB6 is also installed) It seemed that the test.lib was built (not without warnings - see below) but popped a console window with the Hello World message then an exception error occurred. I tried to do a little debugging and see if I could produce something useful for you to view.

Sorry I havent documented the build tree at all yet. the test.sln project is up for removal, it was just the initial wrapper i used to get scriptbasic building from the VS project files, and a first run at experimenting with embedding before moving to a dll build.

dll.sln is the real project file which will build the sb_engine.dll


[0] Message Index

[#] Next page

Go to full version