boinc/doc/client_debug.html

58 lines
2.0 KiB
HTML
Raw Normal View History

<title>Core Client: Debugging</title>
<body bgcolor=ffffff>
<h2>Core Client: Debugging</h2>
<h3>Core client logging and error output</h3>
<p>
The core client writes error messages to stderr.
This mechanism is reserved for serious problems,
i.e. those that reflect bugs in the core
client program or conditions that require user intervention.
Specifically, The client verifies that arguments to functions have valid
values, and will print a message to stderr on an invalid argument.
These error messages are formatted as <tt>error: CLASS_NAME.function:
error_statement argument</tt>.
Common errors of this type include
unexpected NULL pointer arguments and negative lengths.
Error numbers
are defined in <b>lib/error_numbers.h</b>.
<p>
In addition, the core client can write a variety of "logging"
information to stdout.
The logging options are read from a file
<b>log_flags.xml</b>.
This file has the following format:
<pre>
&lt;log_flags&gt;
[ flags ]
&lt;/log_flags&gt;
</pre>
The flags are as follows:
<dl>
<dt> &lt;task/&gt;
<dd> Log the start, restart and completion of computational tasks.
<dt> &lt;file_xfer/&gt;
<dd> Log the start, restart and completion of file transfers.
<dt> &lt;sched_ops/&gt;
<dd> Log connections with scheduling servers.
<dt> &lt;state_debug/&gt;
<dd> Log changes to the "client state" data structures.
<dt> &lt;task_debug/&gt;
<dd> Log debugging information about task execution.
<dt> &lt;file_xfer_debug/&gt;
<dd> Log debugging information about file transfers.
<dt> &lt;sched_op_debug/&gt;
<dd> Log the request and reply messages of exchanges with scheduling
servers.
<dt> &lt;http_debug/&gt;
<dd> Log debugging information about HTTP operations.
<dt> &lt;time_debug/&gt;
<dd> Log the passage of time.
<dt> &lt;net_xfer_debug/&gt;
<dd> Log debugging information about network communication.
</dl>
<h3>Application error output</h3>
<p>
The stderr of applications is automatically directed to a file. The
contents of this file are returned to the scheduling server and stored
in the database.