Debugging with GDB (February 2008)

Table Of Contents
188 Debugging with GDB
of certain instructions, such as wtop, wexit, and frcpa, which modify the processor
state even when predicated false. In such cases, the debugger stops at the instruc-
tions irrespective of the predicate value of the instructions. Assembly and low-level
programmers, who require the old behavior of the debugger to stop at the instructions
irrespective of the predicate value of these instructions, can explicitly turn off this
feature. To explicitly turn off this feature, enter the following command at the gdb
prompt:
(gdb) set no-predication-handling
The following limitations apply when debugging optimized code:
Support for high-level loop transformations such as modulo-scheduled loops, or
LNO-optimized loop nests is limited. (This limited support includes all loop opti-
mizations that are enabled at +O3 and above, and some loop optimizations at +O2
or -O.)
Debug support for local aggregates and arrays is limited.
Complete debug support for inlined subroutines is not available.
Values that are not at the current code location will be reported as being un-
available, even if these values can be computed from some other values that are
available.
Step operations may include occasional "backwards" steps, because of the re-
ordered code during optimization.
The program stops at asynchronous signal stops even if the reported instruction
is predicated false.
Complete support is available for debugging at the assembly language level. Stepping
by instructions (stepi/nexti) steps as expected and reports the associated source line
numbers for each instruction.
Note: The -ipo compilation implies the +noobjdebug option because the
-ipo object files do not store executable code or debug info.
14.26 Visual Interface for WDB
WDB includes an HP-supported Visual Interface for WDB with both graphical and
terminal modes. The interface is based on Vim 5.7 and WDB. This interface replaces
the -tui mode on Itanium-based systems.
When you use the interface you are actually using vim, which is a vi-compatible editor.
With the interface you can use vi commands to browse in the WDB display.
Most of Visual Interface for WDB functionality is also available for emacs users. Visual
Interface for WDB does not require knowledge of vi commands.
Visual Interface for WDB identifies you as an emacs user by looking at the environment
variable $EDITOR’. If this variable has a value that matches emacs, or gmacs, or xemacs,
then Visual Interface for WDB starts in emacs mode automatically.
Note: If the program expects unbuffered input or uses curses, termcap, or
terminfo, or otherwise transmits escape or control sequences to the termi-
nal, you must use one of the following methods to run Visual Interface for
WDB: