123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- .\"***************************************************************************
- .\" Copyright (c) 2000-2005,2007 Free Software Foundation, Inc. *
- .\" *
- .\" Permission is hereby granted, free of charge, to any person obtaining a *
- .\" copy of this software and associated documentation files (the *
- .\" "Software"), to deal in the Software without restriction, including *
- .\" without limitation the rights to use, copy, modify, merge, publish, *
- .\" distribute, distribute with modifications, sublicense, and/or sell *
- .\" copies of the Software, and to permit persons to whom the Software is *
- .\" furnished to do so, subject to the following conditions: *
- .\" *
- .\" The above copyright notice and this permission notice shall be included *
- .\" in all copies or substantial portions of the Software. *
- .\" *
- .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- .\" *
- .\" Except as contained in this notice, the name(s) of the above copyright *
- .\" holders shall not be used in advertising or otherwise to promote the *
- .\" sale, use or other dealings in this Software without prior written *
- .\" authorization. *
- .\"***************************************************************************
- .\"
- .\" $Id: curs_trace.3x,v 1.8 2007/02/24 17:33:49 tom Exp $
- .TH curs_trace 3X ""
- .na
- .hy 0
- .SH NAME
- \fB_tracef\fR,
- \fB_tracedump\fR,
- \fB_traceattr\fR,
- \fB_traceattr2\fR,
- \fB_nc_tracebits\fR,
- \fB_tracechar\fR,
- \fB_tracechtype\fR,
- \fB_tracechtype2\fR,
- \fB_tracemouse\fR,
- \fBtrace\fR - \fBcurses\fR debugging routines
- .ad
- .hy
- .SH SYNOPSIS
- \fB#include <curses.h>\fR
- .sp
- \fBvoid _tracef(const char *format, ...);\fR
- .br
- \fBvoid _tracedump(const char *label, WINDOW *win);\fR
- .br
- \fBchar *_traceattr(attr_t attr);\fR
- .br
- \fBchar *_traceattr2(int buffer, chtype ch);\fR
- .br
- \fBchar *_nc_tracebits(void);\fR
- .br
- \fBchar *_tracechar(int);\fR
- .br
- \fBchar *_tracechtype(chtype ch);\fR
- .br
- \fBchar *_tracechtype2(int buffer, chtype ch);\fR
- .br
- \fBchar *_tracemouse(const MEVENT *event);\fR
- .br
- \fBvoid trace(const unsigned int param);\fR
- .SH DESCRIPTION
- The \fBtrace\fR routines are used for debugging the ncurses libraries,
- as well as applications which use the ncurses libraries.
- These functions are normally available only with the debugging library
- \fIlibncurses_g.a\fR, but may be compiled into any model (shared, static,
- profile) by defining the symbol \fBTRACE\fR.
- .PP
- The principal parts of this interface are the \fBtrace\fR routine which
- selectively enables different tracing features, and the \fB_tracef\fR
- routine which writes formatted data to the \fItrace\fR file.
- .PP
- Calling \fBtrace\fR with a nonzero parameter opens the file \fBtrace\fR
- in the current directory for output. The parameter is formed by OR'ing
- values from the list of \fBTRACE_\fP\fIxxx\fR definitions in \fB<curses.h>\fR.
- These include:
- .TP 5
- TRACE_DISABLE
- turn off tracing.
- .TP 5
- TRACE_TIMES
- trace user and system times of updates.
- .TP 5
- TRACE_TPUTS
- trace tputs calls.
- .TP 5
- TRACE_UPDATE
- trace update actions, old & new screens.
- .TP 5
- TRACE_MOVE
- trace cursor movement and scrolling.
- .TP 5
- TRACE_CHARPUT
- trace all character outputs.
- .TP 5
- TRACE_ORDINARY
- trace all update actions.
- The old and new screen contents are written to the trace file
- for each refresh.
- .TP 5
- TRACE_CALLS
- trace all curses calls.
- The parameters for each call are traced, as well as return values.
- .TP 5
- TRACE_VIRTPUT
- trace virtual character puts, i.e., calls to \fBaddch\fR.
- .TP 5
- TRACE_IEVENT
- trace low-level input processing, including timeouts.
- .TP 5
- TRACE_BITS
- trace state of TTY control bits.
- .TP 5
- TRACE_ICALLS
- trace internal/nested calls.
- .TP 5
- TRACE_CCALLS
- trace per-character calls.
- .TP 5
- TRACE_DATABASE
- trace read/write of terminfo/termcap data.
- .TP 5
- TRACE_ATTRS
- trace changes to video attributes and colors.
- .TP 5
- TRACE_MAXIMUM
- maximum trace level, enables all of the separate trace features.
- .PP
- Some tracing features are enabled whenever the \fBtrace\fR parameter
- is nonzero. Some features overlap.
- The specific names are used as a guideline.
- .SH RETURN VALUE
- Routines which return a value are designed to be used as parameters
- to the \fB_tracef\fR routine.
- .SH PORTABILITY
- 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.
- .SH SEE ALSO
- \fBcurses\fR(3X).
- .\"#
- .\"# The following sets edit modes for GNU EMACS
- .\"# Local Variables:
- .\"# mode:nroff
- .\"# fill-column:79
- .\"# End:
|