Qlik Community

QlikView Documents

Documents for QlikView related information.

Using the Decoda Debugger with QlikView Expressor Desktop

Not applicable

Using the Decoda Debugger with QlikView Expressor Desktop

When using Expressor Deskstop 3.10 and later (Expressor) you now have the ability to debug your Expressor Datascript code in the Lua coding and debugging IDE Decoda.  This open source product must be downloaded and installed separately from Expressor.
.
Normally when you run a dataflow from within Desktop, code debugging is disabled.  If you want to debug your code, you must specifically enable the Prompt for debugging property on the operator whose code you want to examine and select the new Start With Debugging menu item that is under the Start ribbon bar button.  You will then be able to attach Decoda to the code you want to examine, set break points and watch variables, and step through the code.
.
The operators for which debugging is available are: Aggregate, Filter, Join, Multi-Transform, Read Custom, Write Custom, and Transform.
.
You can use this debugging feature with both expression and function rules.  If your operator includes multiple expression rules, you will be able to examine each rule simultaneously as the debugger will cycle through the rules, which will be listed separatelly.  If your operator includes a function rule with code in both required and optional functions (for example, the transform operator's filter and transform functions), you will be able to examine all the coding during the same execution of the dataflow.
.
Let's see how this all comes together.
.
  1. When designing your dataflow, select the Prompt for debugging property on the operator whose code you want to examine.

    property.png

    You may only select this property on one operator on each step of the dataflow; it is not possible to simultaneously debug multiple operators on a single step.
  2. Before running the dataflow start the Decoda application.
  3. Run the dataflow by selecting the Start With Debuffing menu item from the drop down list under the ribbon bar's Start button or by pressing the Ctrl+F5 key combination.  If you simply click the Start button, the dataflow will run without connecting to Decoda.

    run.png
  4. A message window will appear.  Note the process ID that is associated with the process running the operator.  DO NOT click OK at this time.  You must first start the debugging process within Decoda.

    process.png
  5. Return to the Decoda IDE and select the Debug - Processes... menu item.  This opens a window that lists all of the running processes.  In this window, click on the ID column header to sort the processes by process ID, highlight the process corresponding to the operator whose code you are examining, and click Attach.

    processes.png
  6. Momentarily the Decoda IDE will acknowledge that it is ready to start the debugging session.

    acknowledge.png
  7. Return to the message window of Step 4 and click OK.  Execution of the dataflow will begin and a second message window will appear.  DO NOT click OK at this time.  You must first set break points and identify watch variables.

    breakpoints.png
    .
  8. In the Decoda IDE, select the entry within the Project Explorer panel that corresponds to the code being examined and double-click on the function name.  In the following screen shot both the filter optional function and the transform required function have code.

    functions.png
  9. To set break points, place the cursor in front of a statement and press the F9 key.  The F9 key can also be used to toggle the break point off and on.

    functions2.png
  10. To set watch variables, either:
    highlight the variable and drag-and-drop it into the Watch panel, or
    click in the Watch panel and enter the name of a variable.

    functions5.png
  11. Once break points and watch variables have been set, return to the message window of step 7 and click OK.
  12. The application runs to the first break point; in this example to the break point in the filter function.
  13. After examining the watch variables, press F5 to allow the code to execute to the next break point (in transform function).
  14. Continue pressing F5 to process the remaining records.
Comments
Not applicable

Hi John.

My problem is, that I do not get the property 'Prompt fro debugging' inside QlikView Expressor, and I do not have a sub-menu under the Start option. I have installed the Decoda software. What am I missing?

I am running version 3.9.1 of Expressor Studio and 1.16 (build 1034) of Decoda...

Kind regards

Hans Peter

Not applicable

You need to download and install the 3.10 version of QlikView Expressor, which was posted to the download site on July 25th.

Uninstalling your existing 3.9 install will not remove any of your work, which is generally stored under your My Documents directory.  So, you should uninstall your current version of Expressor and install the newer version.  If you open dataflows built with the older version, you may need to replace the operators in order for the new 'Prompt fo debugging' property to appear.

Not applicable

Thank you.

Sometimes the solution is so simple and easy, that you can not see it...

Not applicable

Hi!

  this is a great feature that I wish I could use, but I'm experiencing an issue; the 'attach process' debugger dialog flashes on for a split second and disappears without me selecting/clicking on anything.

  I've been able to capture the screen and it appears to be the dialog I want, however, it just flashes momentarily then disappears (it has acted like this every time: iIve never been able to use the debugger)..

Debug-not.png  Note that I did create and set the system logging variable EXP_TRACE_LEVEL to '7' for additional information, but would really prefer to use the debugger if possible.

I have Decoda installed and running, and also have VS 2010 installed as well (I installed VS *after* I noticed the problem...).

  I'm using the Expressor 3.10 (build 25527) on Win7 x64, using the default personal license.

Thanks for any tips/enlightenment!

Ted

Not applicable

Please try using the debugger with a simple dataflow that you know runs.  If your dataflow is not actually starting due to a problem with another operator, the debugger will fail as well.

Not applicable

Thank you for that tip; I ran a simple(er) flow and I was able to attach the debugger and step through and verified it's working.

I'll start looking at the more complex flow and figure out what's breaking.

Regards,

Ted

Not applicable

Does anyone know how to get a registration key for Decoda?  I've been using it for the last month and now I'm getting a message that my evaluation period has ended.  I can't find a place to purchase on the website and have received no response from the email address they list as the contact.

Not applicable

In case someone else encounters the registration key issue.  Here's what solved it for me.  Installing the software using the link, https://github.com/unknownworlds/decoda/releases, rather than what is listed in the post above resolved the message.

Version history
Revision #:
1 of 1
Last update:
‎07-25-2013 08:40 AM
Updated by: