debugger ??

Issue #157 new
0r0 created an issue

DWScript is very good. But it lacks a debugger. A xdebug (php) style debugger that can be integrated with any code editor.

Any suggestions for that to happen?

Taks Cristiano

Comments (9)

  1. Eric Grange repo owner

    There are debugger support components in dwsDebugger, but none that map to the DBGp AFAIK. There are other code editor support classes in the Sourc\SourceUtils directory for suggestions, coverage, metrics etc.

    They are covered in the unit tests, and I use them for a code editor at work (proprietary and not standalone). There used to be an "IDEDialog" demo by a 3rd party at some point that made some use of them, but it has not been maintained since 2013. I have a uploaded a zip of its source in the "Downloads" here if you want to have a look (though it will likely require some adaptations to compile and work)

  2. Anders Melander

    I have an integrated debugger I can contribute. It was originally based on the demo bundled with DWScript which unfortunately means that it has inherited some of the poor architecture of that demo. AFAIR (I haven't been involved with any project using DWScript for well over a year) it uses SynEdit (with lots of local bug fixes) as an editor.

    It supports stepping, breakpoints, watches, evaluation and has live views for call stack, data stack, local variables, symbols and AST.

    The UI is based on DevExpress (ribbon and docking).

    The script functionality is tightly integrated with the script ecosystem of the host application which means there's supports for script packages/bundles, licensing, encryption/obfuscation and scripts can be executed from editor, external text files, streams/BLOBs or packages (self contained script applications contained in external zip files).

    I can probably rip out the application specific parts and create a stand alone demo, but replacing the DevExpress UI is more work than I have to spare at the moment - also the VCL docking manager is broken beyond repair so I that isn't an alternative.

    I can't run the project on the system where I'm writing this, so I've just attached a screenshot of how it looks in the IDE. DWScript debugger 1.jpg DWScript debugger 2.jpg

  3. 0r0 reporter

    Hello @Anders Melander. Extremely useful seriea your contribution. About using DevExpress UI has no problems. We can work on these changes.

    I think we need an IDE with integrated Debug so we can from NEW LIFE to DWScript.

    This tool that @Eric Grange has been developing for years is fantastic. But I see that it's missing an UP so that it becomes the backbone for the delphi / lazarus developer.

    I myself started to create a components framework, but without the debug it's like missing an arm or a leg.

    We do need your contribution.

    @Eric Grange if possible ask you to post a print from your publisher.

    Separated we are small, together we will be great.

  4. Anders Melander

    Almost there...

    I have removed or disabled all the licensing, copy protection and bundle stuff and have abstracted out the host integration, so I'm now able to launch the editor/debugger from a simple Delphi application with very little support code.

    DWScript debugger 3.jpg

    I still need to remove some minor parts and clean up the rest but I expect to have that completed within a week.

    There are dependencies on the following 3rd party libs:

    • DevExpress (Bars, TreeList, Editors, Docking, Skin, Layout)
    • Drag and Drop Component Suite
    • SynEdit
    • Synopse (TaskDialog)

    I'm using Delphi 10.2 so I had to compile against an older DWScript revision because of issue #155.

  5. Eric Grange repo owner

    Thanks. I do not have DevExpress though, so I guess a first pass will be required to remove all the components from DFMs and then see what's still functional afterwards... :)

  6. Log in to comment