|
|
Manpage of FREEVR DEBUG
FREEVR DEBUG
Section: FreeVR Debug Levels (7fv) Updated: 29 February 2024 Index
Return to Main Contents
NAME
FreeVR Debug levels
— FreeVR's numeric values for configuring how much debugging info to output
DESCRIPTION
The amount of debugging information that a running FreeVR
virtual reality application outputs can be controlled by the configuration
file in conjunction with a pair of environment variables.
Most of the debugging output is geared toward debugging FreeVR itself,
but there are settings to help debug VR configuration settings, and some
for application debugging.
Debug Values
Specific operations are coded with particular debugging values which
allows the user or developer to focus in on particular issues they
may be experiencing, or want to keep watch for.
Internally, these are numeric values that in-code are mapped to
#define'd macro values.
For convenience in the configuration file, these values are also mapped
to built-in "variables" (in fact constants) and can be expressed
as such to avoid having to learn all the numbers.
Unfortunately, when using the environment variables, the actual
numeric values must be used, so those values are included as well
in the table below.
Here is the list of debugging "topics", the built-in variables and the
preset values:
Debug | built-in | num.
|
Parameter | variable | value
|
|
output nothing | debug:none | 0
|
Always output | debug:always | 1
|
Almost always output | debug:aalways | 2
|
Absolutely always | debug:all | 23
|
Commonly output | debug:common | 40
|
Default outout | debug:default | 50
|
Seldom output | debug:seldom | 100
|
Rarely output | debug:rare | 200
|
Almost never output | debug:almostnever | 1000
|
|
Configuration error | debug:configerror | 3
|
Configuration warning | debug:configwarn | 10
|
Process spawning/forking error | debug:spawn | 20
|
|
Terminal Trace Post Execution Output | debug:tracedump | 57
|
Performer information | debug:performer | 60
|
Performer detail | debug:performerdetail | 560
|
GLX information | debug:glx | 60
|
Config variable information | debug:variable | 65
|
Config parsing information | debug:parse | 70
|
Config parsing detail | debug:parsedetail | 190
|
Self-control information | debug:selfcontrol | 105
|
Library execution trace | debug:trace | 125
|
|
Magellan input information | debug:mag | 150
|
Shmem input information | debug:shmem | 151
|
Static input information | debug:static | 652
|
X11-windows input information | debug:xwin | 153
|
Pinchglove input information | debug:pinchg | 154
|
Ascension Flock of Birds input info | debug:ascfob | 155
|
Polhemus Fastrak input information | debug:fastrk | 156
|
Shared memory output information | debug:shmemd | 157
|
Vrui DeviceDaemon output info | debug:vruidd | 158
|
VRPN input information | debug:vrpn | 159
|
|
General input processes info | debug:input | 180
|
Configuration information | debug:config | 185
|
Callback handling information | debug:callback | 195
|
Callback handling details | debug:callbackdetail | 695
|
Barrier handling information | debug:barrier | 196
|
|
Serial communications information | debug:serial | 250
|
Math processing information | debug:math | 260
|
Object database search information | debug:objsearch | 270
|
Memory usage tracking | debug:trackmem | 296
|
Semaphore lock tracking | debug:tracklocks | 297
|
|
CONFIGURATION
Tiered debugging output
FreeVR has a two-tiered capability for controlling how much
and what output will be provided when running a FreeVR application.
Each of these tiers can be independently set at any of several levels
within the FreeVR configuration — such as at the process level,
the system level, or globally.
- • Tier 1 — Output all information at or below a particular level
-
The more general way to control debug and messaging output is by setting
an overall "debug level".
The value at which this parameter is set will allow all message levels
at or below that value to be output.
For example if the debug level is set to 40 (common), then
any debug output for always, aalways, configerror,
configwarn, spawn, and common will be output because
each of these has a numeric value less than or equal to the numeric
value of common.
In the configuration file, this is set as the DebugLevel parameter.
- • Tier 2 — Output information at exactly a particular level
-
The overall goal for debugging output is to limit it to see values that
will help highlight issues that need to be addressed (or to show that
the system is operating normally).
At times, of course, one may want to focus on a particular aspect of the
running system to debug a specific aspect.
In these cases, it is counter productive to set the level for something
like debug:vruidd and have all the additional debugging information
for all the other inputs and also the graphics rendering systems giving
details of their operation that are not important to the task at hand.
To solve this, there is a mechanism to print one additional debug
value on top of the less-than-or-equal-to values.
In the configuration file, this is referred to as the DebugThisToo
parameter.
-
Thus, when the system decides whether to output a particular debugging
related message, it checks both whether the value is less-than-or-equal-to
the value of DebugLevel or is exactly equal to the value of
DebugThisToo.
Specifying values in the configuration
As mentioned, there are three configuration object types that can
have the debug output values set, and they are, in order of precedence
(where being lower in the list overrides those that come before):
-
- 1)
-
Global configuration settings
-
set DebugLevel = $debug:common;
set DebugThisToo = $debug:parsedetail;
- 2)
-
System object settings
-
system $system += { DebugLevel = $debug:seldom; }
- 3)
-
Process object settings
-
process "joydev-input" += { DebugThisToo = $debug:joydev; }
process "default-telnet" += { DebugThisToo = $debug:parse; }
- 4)
-
Environment variable settings
The following section describes the two environment variables that
are used to set the debug output parameters run in a given terminal
shell.
ENVIRONMENT VARIABLES
When a FreeVR application is executed, there are two
environment variables in particular that affect the debugging
information output:
- FREEVR_DEBUGLEVEL_NO
-
-
Set level of debugging output that a FreeVR application will generate.
Setting this value happens last, and thus none of the other means of
reading configuration commands will override this setting — hence
the NO (No Override) tag.
- FREEVR_DEBUGEXACT_NO
-
Set an extra, exact level of debugging output that a FreeVR
application will additionally generate, in addition to all messages
at or below the general debug-level.
Setting this value happens last, and thus none of the other means of
reading configuration commands will override this setting — hence
the NO (No Override) tag.
SEE ALSO
freevrrc(5FV),
freevr(7fv),
The FreeVR web site:
-
http://www.freevr.org
LOCATION
The debug values are set in the source code "vr_debug.h" file,
and the mapping of those values to built-in "variables" is in the
"vr_debug.c" source file.
COPYRIGHT
Copyright 2024, Bill Sherman, All rights reserved.
Index
- NAME
-
- DESCRIPTION
-
- Debug Values
-
- CONFIGURATION
-
- Tiered debugging output
-
- Specifying values in the configuration
-
- ENVIRONMENT VARIABLES
-
- SEE ALSO
-
- LOCATION
-
- COPYRIGHT
-
This document was created by
man2html,
using the manual pages.
Time: 21:57:57 GMT, March 04, 2024
|
|