PMSETDEBUG(3)

NAME
pmSetDebug, pmClearDebug - manipulate PCP debugging control options

C SYNOPSIS
#include <pcp/pmapi.h>

int pmSetDebug(const char *spec);
int pmClearDebug(const char *spec);

cc ... -lpcp

DESCRIPTION
Within the libraries and applications of the Performance Co-Pilot (PCP) there is an extensive set of debugging options that may be enabled or disabled at run-time.

Both pmSetDebug and pmClearDebug parse spec assuming it to be a comma separated list of PCP debug option names.

The names of the available options may be found using the -l argument to pmdbg(1).

As a special case, the name ``all'' is treated as a synonym for identifying all option names.

pmSetDebug will set the corresponding options, while pmClearDebug will clear the corresponding options.

Consecutive calls to either routine will be additive. For example the following code fragments are equivalent in terms of the final configuration of the debug options.

sts = pmClearDebug("all");
sts = pmSetDebug("appl0");
sts = pmSetDebug("pdu,fetch");
sts = pmSetDebug("fetch,profile,context");
sts = pmClearDebug("appl0");

sts = pmClearDebug("all");
sts = pmSetDebug("pdu,fetch,profile,context");

For applications that use pmGetOptions(3) to process command line options and arguments, setting the environment variable $PCP_DEBUG provides an alternative mechanism to set debug flags, as described in PCPIntro(1).

An earlier implementation of the PCP debug facilities used a bit-vector and for backwards compatibility the elements of spec may include decimal values corresponding to those bit-values. Refer to pmdbg(1) for more details of this deprecated format.

DIAGNOSTICS
If successful, these routines return 0, otherwise the return is PM_ERR_CONV to indicate a parsing error.

SEE ALSO
PCPIntro(1) and pmdbg(1).