Debug Pane

The Debug pane is a tool that can be used to debug errors in the math section of a policy- or client-level transaction. This tool moves through execution steps in sequence, and displays all math variables and their associated values at each step. Debugging not only walks through the transaction’s configuration, but automatically opens any called functions, steps through all of the math variables and displays values according to what was passed in from the transaction configuration.

Before Using Debug

Before using the debug feature, make sure remote debugging is set up in the Rules Palette.

Steps to Check Remote Debugging in Rules Palette

  1. Right-click on the environment connection in the Main Explorer tab.

  2. Select Properties. The Properties Window will open.

  3. Scroll down to the row for the Debug Web Service URL.

  4. Click the button to the right of the field. An Environment Properties window will open for the Debug Web Service. The URL should be listed.

Start and Run a Debug Session

Debug functionality is available for transactions at both the policy level and the client level.

The methods for debugging the configuration are as follows. The buttons for these functions are located at the top of the EventList Window.

  1. Run: Ignore all breakpoints and process the entire transaction.
  2. Step Forward: Advance through the configuration one line at a time. On advancing, the line advanced to will be calculated and displayed. The Step Forward will step into and out of CopyBooks and Functions, as determined by the configuration.
  3. Fast Forward: Advance through the configuration to the next breakpoint. The debugger will stop on the line where the breakpoint is checked. Breakpoints may be placed in CopyBooks and Functions. If no breakpoints are set, the debugger will process the entire transaction.
  4. Step Backward: Step back one line in the configuration. This will “undo” or “clear” the step that was just performed, and take the user to the previous step, calculating and displaying that step as if the one that occurred after it was never determined.
  5. Rewind: Return to the beginning of the configuration, allowing the user to start debugging over. All prior values calculated and displayed will be cleared, with the exception of the input values.

Buttons Available in the Debug Pane

To start a debug session for a client-level transaction:

  1. Open the transaction in the Rules Palette. Make sure the transaction is checked in.
  2. Go into the OIPA application and search for a client. Once the client is found, open the client record.
  3. Add the client transaction to the client. This can be done by clicking the Add Activity link on the Secondary menu and searching for the client transaction. When found, select it and click Add.
  4. Leave the activity (transaction) in a pending status.
  5. Go back to the Rules Palette and click the Debug pane in the transaction.
  6. Click the drop-down box next to Client and select the client where you just added the activity (transaction).
  7. If the client is not listed, click the Search button to the right of the Client field. Select a client type from the drop-down box. Then enter any search criteria. The % sign can be used as a wildcard, but it cannot be the only value in a search field.
  8. If the transaction is listed multiple times for the client in OIPA, then the Activity Date drop down will populate according to effective date, with the most recent one at the top of the list.
  9. Click the Debug button at the top of the window. It will take a few minutes for the debugger to load. When complete, a message will appear indicating that the session loaded successfully.
  10. Initiate the debug session by using one of the methods described above. The EventList Window steps through the math variables, highlighting the variable currently being processed, and the ContextList Window displays the current state of each variable throughout the debug session.

Important   All translation, compilation and runtime errors must first be fixed in order to use the Debug pane. Debug can be performed when the transaction is checked-in or checked-out; however, configuration problems can only be fixed if the transaction is checked out.

To start a debug session for a policy-level transaction:

  1. Open the transaction in the Rules Palette. Make sure the transaction is checked in.
  2. Go into the OIPA application and search for a policy. Once the policy is found, open the policy record.
  3. Add the transaction to the policy. This can be done by clicking the Add Activity link on the Secondary menu and searching for the transaction. When found, select it and click Add.
  4. Leave the activity (transaction) in a pending status.
  5. Go back to the Rules Palette and click the Debug pane in the transaction.
  6. Click the drop-down box next to Policy and select the policy where you just added the activity (transaction).
  7. If the policy is not listed, click the Search button to the right of the Policy field, then enter any search criteria. The % sign can be used as a wildcard, but it cannot be the only value in a search field.
  8. Click the Debug button at the top of the window. It will take a few minutes for the debugger to load. When complete, a message will appear indicating that the session loaded successfully.
  9. Initiate the debug session by using one of the methods described above. The EventList Window steps through the math variables, highlighting the variable currently being processed, and the ContextList Window displays the current state of each variable throughout the debug session.

Important   All translation, compilation and runtime errors must first be fixed in order to use the Debug pane. Debug can be performed when the transaction is checked in or checked out; however, configuration problems can only be fixed if the transaction is checked out.

Debug Pane of a transaction

Debug Pane and Related Windows

EventList Window

In the EventList Window, a blue blue button or green green button button appears next to the math variable execution steps. The blue button indicates the math variable is part of the transaction. The green button indicates the math variable is part of a called function. Double-click on either button to be brought to the math variable in the transaction or function configuration.

Important   The remote debugger does not debug Function rules separately, only as called within a transaction.

ContextList Window

Use the ContextList Window to view the state of the math variable at each step in the debug session. If the value does not fully display in the column, click the ellipsis (...) button to see the full details.When a Valuation element is debugged, a dollar sign icondollar sign icon is available instead of the ellipsis button. Clicking it will open a Policy Valuation window that displays valuation and fund information.

Note: To clear all values in the ContextList Window and restart debugging, click the Rewind button at the top of the EventList Window.

Important   The Debugger will not display the values of MathUpdate math variables or the field itself.

Breakpoints

Another debugging feature is the ability to set-up breakpoint(s) in the configuration. Breakpoints are places in the code where execution is stopped for debugging purposes. In the Rules Palette, select as many breakpoints as needed by checking the BP checkbox. After breakpoints are selected, use the Run button play button in EventList window to step through configuration.

Important: Breakpoints can be set for a loop that then displays math variables and associated values for each iteration of the loop. Use the Run button play button to step through each iteration of a loop.

Breakpoints in debugging

Breakpoint Column on Debug Pane

To clear all the breakpoints, select the Clear All Clear All button button.