DWScript 2.2 preview 2: new debugger component

An SVN snapshot archive is now available as DWScript 2.2 preview 2 (218 kB).

It includes the changes listed there, as well as the following:

  • new TdwsDebugger component to facilitate debugging scripts. This is a helper that wraps common debugging task in a ready-to-use fashion for a debug IDE.
    • supports managing breakpoints.
    • supports watches (hierarchically explorable, you can dig inside a class or record).
    • supports step (into, over, out, to line).
    • supports direct evaluation of expressions.
    • provides info about current expression, source location.
    • callstack is directly available in the execution object.
    • currently limited to non-threaded script debugging.
  • internal class hierarchies have been partly reorganized, providing small gains in execution performance and a reduction in memory usage.
  • unit test code coverage is now up to 83%.

There is however no debug/IDE demo just yet, mostly as I haven’t settled on a syntax editor component to use for such a demo. Internally here, I’m using SynEdit, but I’m not sure which exactly SynEdit I’m using ;-), and I guess other users of SynEdit may have a similar issue. Another possibility would be to use Scintilla, though there doesn’t seem to be any “reference” Scintilla for Delphi.

(if worst comes to worst I’ll use TMemo or TListBox for a dependency-free demo, but would rather not…)

5 thoughts on “DWScript 2.2 preview 2: new debugger component

  1. I would suggest you to give CMCodeSense a close look. It is a static DLL and works just superb with automatic support for Syntax Highliting, intellisensem etc. features along with macro recording!

    Finally it is open source also.

    If you want let me know and I can send you the complete source which is in C++ along with a Delphi sample.

    HTH

  2. @Krystian
    Hadn’t noticed it yet! 🙂

    @Yogi Yang
    Couldn’t find “CMCodeSense” on google, do you have a link? Also it would need to be quite easily available to be included in a demo, and preferably maintained for future Delphi versions (so the demo doesn’t have to be obsoleted!)

Comments are closed.