Debugging in Eclipse (Known Issues)

General issues

  • When debugging .gnt code on early builds of Windows 10 and Windows Server 2016, execution fails to stop at COBOL breakpoints. To resolve this, you should install the most recent Windows updates for your operating system, as this problem is only known to be present with the earlier versions.
  • If you delete a project while you are debugging it, the delete action will only be partially successful and errors will occur. You must stop the debug process before deleting a project.
  • A core dump file is not created for a stack overflow condition.
  • On Windows 10 platforms only, if you receive a COBRT114 error when debugging through a STOP statement, a workaround is to set the console host (used by the debugger) to run in 'legacy mode'. This can be set through a command prompt or PowerShell window. To set legacy mode using the command prompt, right-click the title bar of a command prompt window and select Properties. On the Options tab of the Properties dialog box, select Use legacy console (requires relaunch), and then click OK.

Dynamic length data items

Whilst debugging, variables defined with the DYNAMIC LENGTH clause cannot be expanded beyond their current length; that is, the length at the time of the step being executed.

Expressions

  • The Expressions view supports normal numeric arithmetic expression with intrinsic functions and the single use of alphanumeric intrinsic functions. The following expressions are not supported - logical operators such as b-and and b-or; ISO2002 user defined methods; inline method invokes, and intrinsic functions which are evaluated at compile time.

Wait for attachment debugging

  • There is an issue with "Wait for attachment" when you use Visual COBOL for Eclipse to debug applications that run on some UNIX/Linux platforms. Eclipse connects to the debugger on the remote machine, but might not attach to the process to debug the code.

    To work around this issue, ensure that on the remote machine the TMPDIR environment variable is unset or has the same value for both Visual COBOL Development Hub server and for the running process you wish to debug. The Visual COBOL Development Hub server is the server which you started either directly with the $COBDIR/remotedev/startrdoserver script or indirectly using the daemon which is started with the $COBDIR/remotedev/startrdodaemon script.

    To check the variable used by the Visual COBOL Development Hub server:

    1. Open Remote Systems view in Eclipse on the Windows machine.
    2. Right-click the Shells element of the server connection to be tested and click Launch Shell.
    3. In the Remote Shell view, type echo $TMPDIR in the Command field, and press Enter.

      The value of the TMPDIR environment variable is shown - ensure it is the same as the one used by the process to be debugged.

      Note: The value of TMPDIR used by the Development Hub server cannot be changed in the remote shell and must be set before you start the daemon or server.

Watchpoints

  • The debugger ignores a COBOL watchpoint that is hit if there is no statement following the statement that modifies the data on which that watchpoint is set.