Known Issues - Debugging

Relevant for: GUI actions and scripted GUI components, and function libraries

"Out of memory" exception when debugging

In some scenarios, when adding or viewing complex objects (objects with multiple levels) in the Watch or Local Variables panes, UFT reports an "Out of memory" exception.

Workaround: Register a newer version of Microsoft pdm.dll than the one provided with the UFT installation. You can find the current pdm.dll version at this registry key: HKEY_CLASSES_ROOT\CLSID\{78A51822-51F4-11D0-8F20-00805F2CD064}\InprocServer32.

To register a newer version of the pdm.dll, do the following:

  1. Locate the copy of the pdm.dll that you want to use. (This file is installed and registered with Microsoft Visual Studio and Microsoft Office. It is also installed with Internet Explorer 8 and above but not registered.) You can usually find this file at C:\Program Files (x86)\Internet Explorer or C:\Program Files\Internet Explorer.

  2. Move the pdm.dll file and the msdbg.dll file from this folder to a different location (registering these dll files from the original location behaves differently.)

  3. Run the following commands:

    • regsvr32 <full path to pdm.dll>\pdm.dll

    • regsvr32 <full path to msdbg2.dll>\msdbg2.dll

Adding action automation objects to the Watch pane

GUI testing only: When Microsoft PDM 9.x or later is installed on your computer, if you add action automation objects to the Debug > Watch pane and then close and reopen your test without closing and opening UFT, these actions may not load successfully.

Workaround: Restart UFT and open your test.

Breakpoints on a line after a run-time error

If a run-time error occurs during a run session, you can click Skip in the error message box that opens, to skip the problematic step and continue the run session. However, during a debugging session, if you set a breakpoint on a line immediately after a line that causes a run-time error, UFT does not stop at this breakpoint when the run session continues after the error.

Workaround: Set the breakpoint at least two lines after the line that causes the run-time error.

Opening a function library after pausing to debug UFT may stop responding during a debug run session in the following scenario: If there is a breakpoint at a function call from an associated function library, and you open the function library after the run stops at the breakpoint, and then you insert or remove a breakpoint on the first line of the called function.
Debugging from ALM

When debugging a test that is running from ALM, use the F9 key and Debug menu command to toggle breakpoints. Clicking the left banner in the Editor to toggle breakpoints is not supported in this scenario.

Debugging Windows-based applications

You might not be able to run the Microsoft Visual Studio debugger if UFT is configured to record and run your test or component on any open Windows-based application. For tests, you can configure this by selecting Run > Run Settings > Windows Applications.

Workaround: Do one of the following:

  • In the MicIPC section of the mercury.ini file (located in %SYSTEMROOT%) add these entries:

    devenv.exe=0
    msdev.exe=0
    msscrdbg.exe=0
  • Open the debugging program from a user account other than the one running UFT.

Using the Quick Watch debugger
  • When using the floating tooltip to evaluate a With...End With statement, UFT only recognizes the first level of the steps contained within this block.

  • When using the Quick Watch on computers running Windows 8.X or higher or Windows Server 2012, if you are watching an Insight object, the object must be visible in your application to display the tooltip. If the object is not visible, UFT automatically switches to the parent object of the Insight object and does not display the tooltip.

  • If you want to evaluate an array expression using the Quick Watch, you must highlight the array expression to display the floating tooltip. For example, if your expression is arr1(2), UFT will display the value of the third element in the tooltip unless you highlight the arr1 expression without the 2.

  • When using the Quick Watch to view the value of expressions in a Dim statement, if the Dim statement variable names have one character, the Quick Watch cannot retrieve the value of the argument.

    Note that this limitation does not apply if the Dim statement variable names are longer than 1 character.