Results 1 to 10 of 15

Thread: DfSplat Preview release

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1

    Default DfSplat Preview release

    Hi,

    As presented at the DISD last Saturday, here's an initial preview release of DfSplat.

    https://projects.vdf-guidance.com/pr.../dfsplat/files

    What is DfSplat?

    DfSplat is a debugger for DataFlex applications and is able to debug all your DataFlex applications from version 12.x up to 19.1 all with one compiled binary.

    It is built around the Data Access debugging components, so it depends on a fully licensed developer's copy installed on your machine in order to work.
    It is starting to get feature complete with what DAW offers in the Studio (not 100% there yet, but the gap has been closed by a large margin since VdfSplat days)

    Why DfSplat?

    Because I can, because The Hammer needed a debugger, because I got bored waiting in a queue one day.

    What can you do?

    Because all of the code is available in DataFlex source there are more things possible with it than you can do in the Studio.
    Some of that has already been implemented by me. I'm sure more will come.

    To name a few things:
    - Use the object inspector to navigate the runtime objects for all of your application. If you are navigating a DF19.0+ application then you get to see most of the DataFlex objects that it is based on. Navigating the objects even in the Order Entry is interesting.
    Note also the DataDictionary inspector in there if you focus on a datadictionary object and that you can hide DfSplat to look at the application while you are using the object inspector. An interesting feature of this panel is that it allows you to inspect for object leakage (eg. when you forget to destroy dynamically created objects, more about this feature in a later blog post or article)

    - A Panel inspector. This is similar to the object inspector, it displays only the currently focused view or panel. This is much faster as enumerating the whole application, but has some limitations. It won't -for example- be a good way to inspect memory leaked objects ...

    - Hovering over a property or variable will show its contents. No need to drag it to a watch.

    - There's a profiling button so you can see how long executing a command took. (this can also be run in auto-step, but no way to present the measured data yet)

    - There's preliminary watch point support. This means that you can trigger a breakpoint when data changes. For example when a property is changed or when a record changes or ... any data really. There's a few notes on how-to use this feature. Let me suffice to say that it uses a technique I dubbed "Auto step" which basically uses the "step into" feature at a high automated rate. I will also write a blog post about this feature later on.

    - There's support for importing breakpoints from the Studio which you can then save or load as a named break point file. For the moment I have disabled the "Studio export" feature as it requires more testing.

    Note that my presentation had some hickups (to put it mildly ) and thus I wasn't able to show off everything I intended to show.
    The main reason for that mishap was that I tested on my development VM under DataFlex 19.0 and ended up presenting on a DataFlex 19.1 VM.
    That wasn't the biggest issue..
    The real problem was that my VM's normally always run with US regional settings, however the demo VM used dutch regional settings.... Again no big deal, except that a large amount of DfSplat's magic is done via the runtime expression evaluator and the expression evaluator behaves different depending on regional settings.
    eg. (Field_Current_Value(220,2)) is File 220, field 2 in US format, but it is File 220,2 and NO field in Dutch format.
    Suffice it to say that DfSplat barfed on that.. at the wrong time, during my presentation. (live dangerously, get burned)

    This has all been addressed and works well on European as well as US regional settings now.

    Hope you all enjoy DfSplat.

    More will come later.

    edit: Here's a link to an earlier VdfSplat release with more details on what it is and some _old_ screenshots.

    --
    Wil
    Last edited by wila; 10-Mar-2020 at 08:32 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •