Solaris 7 64-bit Developer's Guide

Debugging

All of the Solaris debugging tools have been updated to work with 64-bit applications. This includes the truss(1) command, the /proc tools, adb(1), dbx, adbgen(1M).

The dbx debugger, capable of debugging 64-bit applications, is available. The remaining tools are included with the Solaris release.

adbgen(1M) generates a program to make a given adb(1) macro. Consequently, it needs to be run on a 64-bit system with the -m lp64 option to generate 64-bit macros. See the adbgen(1M) man page for more information.

The options for all these tools except adbgen(1M) are unchanged. A number of enhancements were made to adb(1) for debugging 64-bit programs. As expected, using "*" to dereference a pointer will dereference 8 bytes for 64-bit programs and 4 bytes for 32-bit programs. In addition, the following new modifiers were added:

Additional ?, /, = modifiers:
	
g		(8) Display 8 bytes in unsigned octal	
G		(8) Display 8 bytes in signed octal
e		(8) Display 8 bytes in signed decimal	
E		(8) Display 8 bytes in unsigned decimal
J		(8) Display 8 bytes in hexadecimal
K		(n) Print pointer or long in hexadecimal
	      Display 4 bytes for 32-bit programs
      and 8 bytes for 64-bit programs.
y		(8) Print 8 bytes in date format
 
Additional ? and / modifiers:
 
M <value> <mask>
Apply <mask> and compare for 8-byte value; move '.' to matching location.
Z		(8) write 8 bytes