When you set up remote animation, make sure that you do not end the path in the 'location of debug information files (.idy) for local access' with a backslash character (\). If you do end the path with a \, when you try to debug the Animator will report that it cannot locate the files.
If you use Query-Enter to query a group item which contains a data item with the same name as other data items in different groups, Animator does not show the name of the group item.
Using Reset Cursor/Start in optimized generated code programs can produce unpredictable results.
It is not possible to animate through an error procedure, that is, code called by CBL_ERROR_PROC.
A keystroke recording created on HP-UX cannot be replayed on another operating system. A keystroke recording created on any other operating system but HP-UX cannot be replayed on HP-UX.
On HP-UX, if you use Animator to debug an executable module and try to assign data for a linkage item a run-time error might occur. Assigning Data to a Linkage Section Item
You cannot step through longjmp() calls if your program is in .int code and it has previously called setjmp(). This is due to a stack issue. The result will be as if you had pressed (z)oom. To avoid this restriction, we suggest you animate in .gnt code, or when animating the .int code, use the directive 'mixedlangdebug'. This should allow you to step through the longjmp() routine, and return to the saved location.
On Intel platforms, when you use just-in-time debugging on a program that contains a divide-by-zero error compiled with the Compiler directive CHECKDIV(OSVS), the Animator highlights the line following the line that contains the divide-by-zero error
On Solaris, you must use the command anim64 to animate 64-bit callable shared object programs.
On HP-UX IA64, when you attempt to animate a shared object, you might discover that you can't set breakpoints, and in some cases the program you are animating will zoom to the 'stop run'. This is usually due to the shared library being loaded into shared memory instead of private memory.
To ensure that your shared object is loaded into private memory for debugging purposes, run the chatr command on the executable that loads it.
For example, to debug pi.so from the demonstrations in 32-bit mode, as follows:
- "cp $COBDIR/demo/debug/pi.cbl ."
- "cob32 -zg pi.cbl"
- "chmod +w $COBDIR/bin/rts32"
- "chatr +dbg enable $COBDIR/bin/rts32"
- "anim32 pi.so"
On AIX, when using cobjrun and COBSW=+A, animation is unpredictable. Owing to the signal handling required by Java for JIT compilation, you might find you are having difficulty debugging your COBOL code. Try setting the following environment variable as follows:
Export JAVA_COMPILER=off
Core file animation is not supported on Linux Itanium platforms.
You need to compile all programs in a application with "cob -t" when animating a multi-threaded application, otherwise animation (in particular dynamic attachment, cobrun +A, Just-In-Time and CBL_DEBUGBREAK/ CBL_DEBUG_START animation) might not work.
On some Linux platforms, animating programs with multiple threads might hang.
On Red Hat Linux on s/390, multi-threaded animation on IBM System z running Red Hat doesn't work.
On Red Hat Linux on s/390 or Itanium 64-bit platforms, the animator and debugger process sometimes uses temporary files created in /tmp or a location pointed to by the environment variable $TMPDIR. When an xterm is created for the animator process, the animator does not inherit the $TMPDIR environment variable. This means the temporary file location will be incorrect for the animator process. In such cases, it is better to avoid using the $TMPDIR environment variable.