Debugging with GDB (February 2008)

Table Of Contents
Chapter 14: HP-UX Configuration-Specific Information 141
(This step is not required on Integrity systems.)
To explicitly preload the librtc runtime library and start the target application,
enter one of the following commands:
- For 32 bit IPF applications,
LD_PRELOAD=/opt/langtools/lib/hpux32/librtc.so <executable>
- For 64 bit IPF applications,
LD_PRELOAD=/opt/langtools/lib/hpux64/librtc.so <executable>
- For 32 bit PA applications,
LD_PRELOAD=/opt/langtools/lib/librtc.sl <executable>
- For 64-bit PA applications,
LD_PRELOAD=/opt/langtools/lib/pa20_64/librtc.sl <executable>
If LD_PRELOAD and chatr +mem_check are used to preload the librtc runtime
library , the librtc runtime library is loaded from the path specified by LD_
PRELOAD.
Note:
Batch Mode RTC displays one of the following errors and causes the pro-
gram to temporarily hang if the version of WDB and librtc.[sl|so] do
not match, or if WDB is not available on the system:
"/opt/langtools/bin/gdb: unrecognized option ‘-brtc’
Use ‘/opt/langtools/bin/gdb --help’ for a complete list of options."
(OR)
"execl failed. Cannot print RTC info: No such file or directory"
This error does not occur under normal usage where WDB or
librtc.[sl|so] is used from the default location at /opt/langtools/...
However, this error occurs if GDB_SERVER and/or LIBRTC_SERVER are set
to a mismatched version of WDB or librtc.[sl|so] respectively.
5. At the end of the run, output data file is created in output_data_dir, if defined in
rtcconfig,or the current directory. HP WDB creates output data file for each run. It
creates a separate file for leak detection and heap information. The naming convention
for output files is as follows:
<file_name>.<pid>.<suffix>
Where, <pid> is the process id and the value for <suffix> can be either leaks, heap, or
mem.
Note:
During operations such as system(3s)and popen(), which invoke a new
shell, librtc.sl|so must not be loaded to the invoked shell. You must
use LD_PRELOAD_ONCE, instead of LD_PRELOAD, to exclusively load the
librtc.sl|so file to the calling process only. Following is the syntax for
using LD_PRELOAD_ONCE:
LD_PRELOAD_ONCE= /opt/langtools/lib/librtc.sl