JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Solaris 64-bit Developer's Guide
search filter icon
search icon

Document Information

Preface

1.  64-bit Computing

2.  When to Use 64-bit

3.  Comparing 32-bit Interfaces and 64-bit Interfaces

4.  Converting Applications

5.  The Development Environment

Build Environment

Header Files

Compiler Environments

32-bit and 64-bit Libraries

Linking Object Files

LD_LIBRARY_PATH Environment Variable

$ORIGIN Keyword

Packaging 32-bit and 64-bit Applications

Placement of Libraries and Programs

Packaging Guidelines

Application Naming Conventions

Shell-Script Wrappers

/usr/lib/isaexec Binary File

isaexec(3c) Interface

Debugging 64-bit Applications

6.  Advanced Topics

A.  Changes in Derived Types

B.  Frequently Asked Questions (FAQs)

Index

Debugging 64-bit Applications

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

The dbx debugger, capable of debugging 64-bit applications, is available as part of the Sun Studio tool suites. The remaining tools are included with the Solaris release.

The options for all these tools are unchanged. A number of enhancements are available in mdb 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 modifiers are available:

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