and later versions provide support to prevent the debugged program from stopping at instructions that are predicated false. The program execution can be stopped by a software breakpoint, a hardware breakpoint, or an asynchronous signal. In the case of optimizations such as
The predicated false instructions are equated to NOPs (No OPeration), because these instructions do not modify the processor state. The exception to this rule is the use 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 instructions irrespective of the predicate value of the instructions. Assembly and
(gdb) set
The following limitations apply when debugging optimized code:
•Support for
+O2 or
•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 unavailable, 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
14.30 Debugging with ARIES
The ARIES fast interpreter emulates a complete set of
230