| Main index | Section 3 | Options |
unsigned curses_trace(const unsigned param);
void _tracef(const char *format, ...);
char *_traceattr(attr_t attr);
char *_traceattr2(int buffer, chtype ch);
char *_tracecchar_t(const cchar_t *string);
char *_tracecchar_t2(int buffer, const cchar_t *string);
char *_tracechar(int ch);
char *_tracechtype(chtype ch);
char *_tracechtype2(int buffer, chtype ch);
void _tracedump(const char *label, WINDOW *win);
char *_nc_tracebits(void);
char *_tracemouse(const MEVENT *event);
/* deprecated */
void trace(const unsigned int param);
| » | 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. | |
| » | Additionally, the functions which use cchar_t are only available with the wide-character configuration of the libraries. |
| » | curses_trace, which selectively enables different tracing features, and |
| » | _tracef, which writes formatted data to the trace file. |
| 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. | |
| » | If tracing is available, calling curses_trace with a nonzero parameter updates the trace mask, and returns the previous trace mask. |
| 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. | |
| » | If tracing is not available, curses_trace returns zero (0). |
| 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 curses_trace function. | |
| TRACE_TIMES | |
| trace user and system times of updates. | |
| TRACE_TPUTS | |
| trace tputs(3X) calls. | |
| TRACE_UPDATE | |
| trace update actions, old & new screens. | |
| TRACE_MOVE | |
| trace cursor movement and scrolling. | |
| TRACE_CHARPUT | |
| trace all character outputs. | |
| TRACE_ORDINARY | |
| 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_VIRTPUT | |
| trace virtual character puts, i.e., calls to addch. | |
| TRACE_IEVENT | |
| trace low-level input processing, including timeouts. | |
| TRACE_BITS | |
| trace state of TTY control bits. | |
| TRACE_ICALLS | |
| trace internal/nested calls. | |
| TRACE_CCALLS | |
| trace per-character calls. | |
| TRACE_DATABASE | |
| trace read/write of terminfo/termcap data. | |
| TRACE_ATTRS | |
| trace changes to video attributes and colors. | |
| TRACE_MAXIMUM | |
| maximum trace level, enables all of the separate trace features. | |
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 function. 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 debugging output may be directed to the trace file if the NCURSES_TRACE environment variable is set:
| » | messages produced in the utility are written to the standard error. |
| » | messages produced by the underlying library are written to trace. |
| » | 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. | |
| » | PDCurses provides traceon and traceoff, which (like SVr4) are always 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. | |
| » | NetBSD does not provide functions for enabling/disabling traces. It uses environment variables CURSES_TRACE_MASK and CURSES_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. | |
_nc_tracebits, _tracedump, _tracemouse
The original trace routine was deprecated because it often conflicted with application names.
| curs_trace (3X) |
| Main index | Section 3 | Options |
Please direct any comments about this manual page service to Ben Bullock. Privacy policy.
| “ | … one of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs. | ” |
| — Robert Firth | ||