TechTip: Debugging Pointers

RPG
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

In the debugger, you can see the data that a pointer is pointing to even if you don't have a variable that is based on the pointer.

When debugging an RPG or COBOL program, if you display a pointer variable using :c or :x, the debugger will display the data that the pointer is pointing to rather than displaying the 16 bytes of the pointer variable itself.



D p               S               *                
D packedVal       S              5P 0 INZ(12345)  
D charVal         S              5A   INZ('abcde')
 /free                                            
        p = %addr(charVal);                        
        p = %addr(packedVal);                      
        return;                                    

In the debugger, after the first assignment to p:

> EVAL p                                          
  P = SPP:DE60CDB47B069738                        
> EVAL p:c 5                                      
  P:C 5 = 'abcde'
> EVAL p:x 5                    
     00000     81828384 85......

After the second assignment to p:

> EVAL p                                          
  P = SPP:DE60CDB47B06973D                        
> EVAL p:c 3                                      
  P:C 3 = '  ¬'
> EVAL p:x 3                                      
     00000     12345F..

Barbara Morris joined IBM in 1989 after graduating from the University of Alberta with a degree in computing science. Within IBM, she has always worked on the RPG Compiler team. You can contact Barbara at This email address is being protected from spambots. You need JavaScript enabled to view it..

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$0.00 Raised:
$