pmdbg - report Performance Co-Pilot debug options
pmdbg code ...
pmdbg -l [
-o] [
-g]
pmdbg -D name[,
name ...]
The components of the Performance Co-Pilot (PCP) use a global mechanism to
control diagnostic and debug output. Historically this was a vector of
bit-fields but this was later replaced by an array of debug options. All of
the bit-field debug controls have an equivalent in the new scheme, but some
new debug options cannot be represented in the old bit-field scheme.
pmdbg with a
-l option prints out all the debug options. If there
is no
-g and no
-o option then the output lists the name of each
option and some descriptive text.
With the
-l and
-g options the descriptive text is replaced with
an expression that can be used to set or print the corresponding debug flag in
gdb (1).
With the
-l and
-o options the output is for only the old
bit-fields with the mnemonic and decimal values of each the bit-field along
with some descriptive text.
Obviously the
-o and
-g options are mutually exclusive.
pmdbg with a
-D option parses the list of
names(s) using
__pmParseDebug(3) and reports the corresponding decimal value. This use
is not required in the new scheme, but for the old bit-fields scheme it was
useful when debugging and wanting to set the internal value of the control
vector (
pmDebug) via a debugger, e.g.
gdb(1). For the new
scheme, the same effect can be achieved using the name of the option(s) and
calling
pmSetDebug(3) from within the debugger.
The alternative usage also relates to the old bit-field scheme and the
code arguments are values for the debug vector, and the bit-fields that
are enabled by each of these values is listed.
Each
code may be an integer, a hexadecimal value or a hexadecimal value
prefixed by either ``0x'' or ``0X''.
Most applications using the facilities of the PCP support a
-D
name[,
name ...] command-line syntax to enable debug control
using the name(s) of the desired debug options.
Alternatively the initial value of the debug control flags may be set to either
a value
N (old scheme) or a comma-separated list if option name(s) (new
scheme) using the environment variable
$PCP_DEBUG. If both mechanisms
are used the effect is additive, so the resultant flags are those set via
$PCP_DEBUG combined with those set via any
-D command line
options.
The available command line options are:
-
-D name, --debug=name
- Parse a comma-separated list of name(s) and report
the corresponding decimal value(s).
-
-l, --list
- List all the debug options.
-
-g, --gdb
- Output gdb(1) expressions with -l.
-
-o, --old
- Use old-style output format with -l.
-
-?, --help
- Display usage message and exit.
Environment variables with the prefix
PCP_ are used to parameterize the
file and directory names used by PCP. On each installation, the file
/etc/pcp.conf contains the local values for these variables. The
$PCP_CONF variable may be used to specify an alternative configuration
file, as described in
pcp.conf(5).
PCPIntro(1),
pmSetDebug(3),
pmClearDebug(3),
__pmParseDebug(3),
pcp.conf(5) and
pcp.env(5).