Installation guide
5.4.1 Change to hiprof’s Profiling of Threaded Programs
The -cputime option of the hiprof(5) profiler now provides an
instruction-count profile for threaded programs, the same as the -calltime
option, because the CPU cycles reported for kernel-threads by the RPCC
instruction can not be mapped to pthread(3) threads.
The only significant difference is that the profile is displayed as the number
of instructions executed instead of CPU seconds used. The -cputime
option still profiles CPU seconds for nonthreaded programs.
5.4.2 Change in Naming of Files by cc Profiling Option
The cc command’s -prof_gen option (which causes the pixie profiler
to be run after the executable is linked) names files differently from the way
it did in releases prior to Version 4.0E.
The new naming scheme is necessary to support formal benchmarking, which
is the primary purpose of the -prof_gen option.
Before Version 4.0E, the uninstrumented executable produced by the ld
linker and provided as input to pixie was named a.out (or as indicated
with the -o option). The instrumented executable produced by pixie was
given the usual .pixie filename extension.
Starting with Version 4.0E, the instrumented executable is named a.out (or
as indicated with the -o option). The uninstrumented executable is given a
.non_pixie file name extension.
5.5 Debugging with dbx
The following note applies to debugging with dbx.
5.5.1 Examining the User Program Stack in a Kernel Crash Dump
When debugging a crash dump with dbx, you can examine the call stack of
the user program whose execution precipitated the kernel crash. To examine a
crash dump and also view the user program stack, you must invoke dbx
using the following command syntax:
# dbx -k vmunix.n vm[z]core.n path/user-program
The version number (n) is determined by the value contained in the bounds
file, which is located in the same directory as the dump files. The user-
program parameter specifies the user program executable.
The crash dump file must contain a full crash dump. For information on
setting system defaults for full or partial crash dumps, see the System
Administration guide. You can use the assign command in dbx, as shown
in the following example, to temporarily specify a full crash dump. This
5–8 Development Environment Notes