HP (Hewlett-Packard) 5992-4701 Computer Hardware User Manual


 
To set the breakpoint you must kill the program and then rerun it so that the dynamic
linker maps a copy of the shared library privately. There are two ways to run the
program:
Rerun the program under GDB to have the debugger cause dld to map all shared
libraries as private, enabling breakpoint debugging.
On PA-RISC systems, use the following command on an executable:
/opt/langtools/bin/pxdb -s on executable-name
The pxdb -s on command marks the executable so that dld maps shared libraries
as private when the program starts up.
You can verify the status of the shared library with this command:
/opt/langtools/bin/pxdb -s status executable-name
On both PA-RISC and IA64 systems, use the following command on an executable:
chatr +dbg enable executable-name
This is similar to the pxdb command described above wherein it directs the dld to load
the shared libraries as private when the program starts up.
On HP-UX 11i v3 Integrity systems, WDB enables automatic debugging of shared
libraries without them being mapped private while attaching to a running program.
For enabling automatic debugging of shared libraries, you must install the kernel
patches PHKL_38651 and PHKL_38778.
14.22.5 Selectively Mapping Shared Libraries As Private
The -mapshared option suppresses mapping all shared libraries in a process private.
This option enables new functions in the dynamic loader (patch PHSSS_33110 or later)
to designate individual shared libraries for debugging. By default, HP WDB instructs
the shared library dynamic loader, dld.sl(5), to map shared libraries in a process
private, regardless of whether the chatr command is run for a particular shlib with
+dbg or not.
The -mapshared option is used to save virtual memory for debugging applications
with large amounts of code in shared libraries on machines with simultaneous debug
sessions. The chatr +dbg option, and the _HP_DLDOPTS environment variable are
used to identify shared libraries for debugging. The -mapshared option ensures that
the text segments of all other shared libraries is shared across the system. The shared
libraries are not mapped private and cannot have breakpoints set in them.
The set mapshared on command can be used to change modes from the (gdb)
prompt.
(gdb) set mapshared on
The set mapshared off command can be used to load shared libraries after the
current point is mapped private.
(gdb) set mapshared off
212 HP-UX Configuration-Specific Information