X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_trace.3x.html;h=f670c86cea51f3190966d58cf9063130abb4280a;hb=b3719ca8b52aa07d0d85f7c1ce645a471397ccfe;hp=e8ae83b90b1cb03943b0cc9cfb223eaa664cb100;hpb=1dd25cc0259e0683290fe889707b04979b5fda0a;p=ncurses.git diff --git a/doc/html/man/curs_trace.3x.html b/doc/html/man/curs_trace.3x.html index e8ae83b9..f670c86c 100644 --- a/doc/html/man/curs_trace.3x.html +++ b/doc/html/man/curs_trace.3x.html @@ -1,6 +1,7 @@ -
- +-curs_trace(3x) curs_trace(3x) +curs_trace(3x) curs_trace(3x)
- trace, _tracef, _traceattr, _traceattr2, _tracecchar_t, - _tracecchar_t2, _tracechar, _tracechtype, _tracechtype2, - _nc_tracebits, _tracedump, _tracemouse - curses debugging - routines + curses_trace, trace, _tracef, _traceattr, _traceattr2, _tracecchar_t, + _tracecchar_t2, _tracechar, _tracechtype, _tracechtype2, _nc_tracebits, + _tracedump, _tracemouse - curses debugging routines
#include <curses.h> - void trace(const unsigned int param); + unsigned curses_trace(const unsigned param); void _tracef(const char *format, ...); @@ -71,59 +71,70 @@ char *_nc_tracebits(void); char *_tracemouse(const MEVENT *event); + /* deprecated */ + void trace(const unsigned int param); +
- The trace routines are used for debugging the ncurses li- - braries, as well as applications which use the ncurses li- - braries. These functions are normally available only with - the debugging library e.g., libncurses_g.a, but may be - compiled into any model (shared, static, profile) by - defining the symbol TRACE. Additionally, some functions - are only available with the wide-character configuration - of the libraries. + The curses trace routines are used for debugging the ncurses libraries, + as well as applications which use the ncurses libraries. Some limita- + tions apply: + + o Aside from curses_trace, the other functions are normally available + only with the debugging library e.g., libncurses_g.a. + + All of the trace functions may be compiled into any model (shared, + static, profile) by defining the symbol TRACE. + + o Additionally, the functions which use cchar_t are only available + with the wide-character configuration of the libraries.
The principal parts of this interface are - o trace, which selectively enables different tracing - features, and + o curses_trace, which selectively enables different tracing features, + and + + o _tracef, which writes formatted data to the trace file. + + The other functions either return a pointer to a string-area (allo- + cated by the corresponding function), or return no value (such as + _tracedump, which implements the screen dump for TRACE_UPDATE). + The caller should not free these strings, since the allocation is + reused on successive calls. To work around the problem of a single + string-area per function, some use a buffer-number parameter, + telling the library to allocate additional string-areas. - o _tracef, which writes formatted data to the trace - file. + The curses_trace function is always available, whether or not the other + trace functions are available: - Calling trace with a nonzero parameter creates the file - trace in the current directory for output. If the file - already exists, no tracing is done. + o If tracing is available, calling curses_trace with a nonzero param- + eter updates the trace mask, and returns the previous trace mask. - The other functions either return a pointer to a string- - area (allocated by the corresponding function), or return - no value (such as _tracedump, which implements the screen - dump for TRACE_UPDATE). The caller should not free these - strings, since the allocation is reused on successive - calls. To work around the problem of a single string-area - per function, some use a buffer-number parameter, telling - the library to allocate additional string-areas. + When the trace mask is nonzero, ncurses creates the file "trace" in + the current directory for output. If the file already exists, no + tracing is done. + + o If tracing is not available, curses_trace returns zero (0).
- The trace parameter is formed by OR'ing values from the - list of TRACE_xxx definitions in <curses.h>. These in- - clude: + The trace parameter is formed by OR'ing values from the list of + TRACE_xxx definitions in <curses.h>. These include: TRACE_DISABLE turn off tracing by passing a zero parameter. - The library flushes the output file, but retains an - open file-descriptor to the trace file so that it can - resume tracing later if a nonzero parameter is passed - to the trace function. + The library flushes the output file, but retains an open file-de- + scriptor to the trace file so that it can resume tracing later if + a nonzero parameter is passed to the curses_trace function. TRACE_TIMES trace user and system times of updates. TRACE_TPUTS - trace tputs calls. + trace tputs(3x) calls. TRACE_UPDATE trace update actions, old & new screens. @@ -135,13 +146,12 @@ trace all character outputs. TRACE_ORDINARY - trace all update actions. The old and new screen - contents are written to the trace file for each re- - fresh. + trace all update actions. The old and new screen contents are + written to the trace file for each refresh. TRACE_CALLS - trace all curses calls. The parameters for each call - are traced, as well as return values. + trace all curses calls. The parameters for each call are traced, + as well as return values. TRACE_VIRTPUT trace virtual character puts, i.e., calls to addch. @@ -165,46 +175,89 @@ trace changes to video attributes and colors. TRACE_MAXIMUM - maximum trace level, enables all of the separate - trace features. + maximum trace level, enables all of the separate trace features. - Some tracing features are enabled whenever the trace pa- - rameter is nonzero. Some features overlap. The specific - names are used as a guideline. + Some tracing features are enabled whenever the curses_trace parameter + is nonzero. Some features overlap. The specific names are used as a + guideline.
- These functions check the NCURSES_TRACE environment vari- - able, to set the tracing feature as if trace was called: + These functions check the NCURSES_TRACE environment variable, to set + the tracing feature as if curses_trace was called: + + filter, initscr, new_prescr, newterm, nofilter, restartterm, + ripoffline, setupterm, slk_init, tgetent, use_env, + use_extended_names, use_tioctl + - filter, initscr, new_prescr, newterm, nofilter, - restartterm, ripoffline, setupterm, slk_init, tgetent, - use_env, use_extended_names, use_tioctl +
+ The command-line utilities such as tic(1) provide a verbose option + which extends the set of messages written using the curses_trace func- + tion. Both of these (-v and curses_trace) use the same variable + (_nc_tracing), which determines the messages which are written. + + Because the command-line utilities may call initialization functions + such as setupterm, tgetent or use_extended_names, some of their debug- + ging output may be directed to the trace file if the NCURSES_TRACE en- + vironment variable is set: + + o messages produced in the utility are written to the standard error. + + o messages produced by the underlying library are written to trace. + + If ncurses is built without tracing, none of the latter are produced, + and fewer diagnostics are provided by the command-line utilities.
- Routines which return a value are designed to be used as - parameters to the _tracef routine. + Routines which return a value are designed to be used as parameters to + the _tracef routine.
- These functions are not part of the XSI interface. Some - other curses implementations are known to have similar, - undocumented features, but they are not compatible with - ncurses. + These functions are not part of the XSI interface. Some other curses + implementations are known to have similar features, but they are not + compatible with ncurses: + + o SVr4 provided traceon and traceoff, to control whether debugging + information was written to the "trace" file. While the functions + were always available, this feature was only enabled if DEBUG was + defined when building the library. + + The SVr4 tracing feature is undocumented. - A few functions are not provided when symbol versioning is + o PDCurses provides traceon and traceoff, which (like SVr4) are al- + ways available, and enable tracing to the "trace" file only when a + debug-library is built. + + PDCurses has a short description of these functions, with a note + that they are not present in X/Open Curses, ncurses or NetBSD. It + does not mention SVr4, but the functions' inclusion in a header + file section labeled "Quasi-standard" hints at the origin. + + o NetBSD does not provide functions for enabling/disabling traces. + It uses environment variables CURSES_TRACE_MASK and CURS- + ES_TRACE_FILE to determine what is traced, and where the results + are written. This is available only when a debug-library is built. + + The NetBSD tracing feature is undocumented. + + A few ncurses functions are not provided when symbol versioning is used: _nc_tracebits, _tracedump, _tracemouse + The original trace routine was deprecated because it often conflicted + with application names. +
curses(3x). - curs_trace(3x) + curs_trace(3x)