mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-16 09:06:25 +00:00
216 lines
8.4 KiB
HTML
216 lines
8.4 KiB
HTML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||
<title>Chapter 3. Debugging Applications</title>
|
||
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
|
||
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
|
||
<link rel="start" href="index.html" title="Berkeley DB Installation and Build Guide" />
|
||
<link rel="up" href="index.html" title="Berkeley DB Installation and Build Guide" />
|
||
<link rel="prev" href="install_multiple.html" title="Building with multiple versions of Berkeley DB" />
|
||
<link rel="next" href="debug_compile.html" title="Compile-time configuration" />
|
||
</head>
|
||
<body>
|
||
<div xmlns="" class="navheader">
|
||
<div class="libver">
|
||
<p>Library Version 11.2.5.3</p>
|
||
</div>
|
||
<table width="100%" summary="Navigation header">
|
||
<tr>
|
||
<th colspan="3" align="center">Chapter 3.
|
||
Debugging Applications
|
||
</th>
|
||
</tr>
|
||
<tr>
|
||
<td width="20%" align="left"><a accesskey="p" href="install_multiple.html">Prev</a> </td>
|
||
<th width="60%" align="center"> </th>
|
||
<td width="20%" align="right"> <a accesskey="n" href="debug_compile.html">Next</a></td>
|
||
</tr>
|
||
</table>
|
||
<hr />
|
||
</div>
|
||
<div class="chapter" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h2 class="title"><a id="debug"></a>Chapter 3.
|
||
Debugging Applications
|
||
</h2>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="toc">
|
||
<p>
|
||
<b>Table of Contents</b>
|
||
</p>
|
||
<dl>
|
||
<dt>
|
||
<span class="sect1">
|
||
<a href="debug.html#debug_intro">Introduction to debugging</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect1">
|
||
<a href="debug_compile.html">Compile-time configuration</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect1">
|
||
<a href="debug_runtime.html">Run-time error information</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect1">
|
||
<a href="debug_printlog.html">Reviewing Berkeley DB log files</a>
|
||
</span>
|
||
</dt>
|
||
<dd>
|
||
<dl>
|
||
<dt>
|
||
<span class="sect2">
|
||
<a href="debug_printlog.html#idm1304224">Augmenting the Log for Debugging</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect2">
|
||
<a href="debug_printlog.html#idm1194048">Extracting Committed Transactions and Transaction Status</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect2">
|
||
<a href="debug_printlog.html#idm1341784">Extracting Transaction Histories</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect2">
|
||
<a href="debug_printlog.html#idm986800">Extracting File Histories</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect2">
|
||
<a href="debug_printlog.html#idm1437640">Extracting Page Histories</a>
|
||
</span>
|
||
</dt>
|
||
<dt>
|
||
<span class="sect2">
|
||
<a href="debug_printlog.html#idm680600">Other log processing tools</a>
|
||
</span>
|
||
</dt>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
<div class="sect1" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h2 class="title" style="clear: both"><a id="debug_intro"></a>Introduction to debugging</h2>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>
|
||
Because Berkeley DB is an embedded library, debugging applications that
|
||
use Berkeley DB is both harder and easier than debugging a separate
|
||
server. Debugging can be harder because when a problem arises, it is
|
||
not always readily apparent whether the problem is in the application,
|
||
is in the database library, or is a result of an unexpected interaction
|
||
between the two. Debugging can be easier because it is easier to track
|
||
down a problem when you can review a stack trace rather than
|
||
deciphering interprocess communication messages. This chapter is
|
||
intended to assist you with debugging applications and reporting bugs
|
||
to us so that we can provide you with the correct answer or fix as
|
||
quickly as possible.
|
||
</p>
|
||
<p>
|
||
When you encounter a problem, there are a few general actions you can
|
||
take:
|
||
</p>
|
||
<div class="variablelist">
|
||
<dl>
|
||
<dt>
|
||
<span class="term">Review the Berkeley DB error output:</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
If an error output mechanism has been configured in the
|
||
Berkeley DB environment, additional run-time error messages
|
||
are made available to the applications. If you are not
|
||
using an environment, it is well worth modifying your
|
||
application to create one so that you can get more detailed
|
||
error messages. See
|
||
<a class="xref" href="debug_runtime.html" title="Run-time error information">Run-time error information</a>
|
||
for more information on configuring Berkeley DB to output these
|
||
error messages.
|
||
</p>
|
||
</dd>
|
||
<dt>
|
||
<span class="term">Review the options available for the <a href="../api_reference/C/envset_verbose.html" class="olink">DB_ENV->set_verbose()</a> method:</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
Look to see if it offers any additional informational
|
||
and/or debugging messages that might help you understand
|
||
the problem.
|
||
</p>
|
||
</dd>
|
||
<dt>
|
||
<span class="term">Add run-time diagnostics:</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
You can configure and build Berkeley DB to perform run-time
|
||
diagnostics. (By default, these checks are not done
|
||
because they can seriously impact performance.) See
|
||
<a class="xref" href="debug_compile.html" title="Compile-time configuration">Compile-time configuration</a>
|
||
for more information.
|
||
</p>
|
||
</dd>
|
||
<dt>
|
||
<span class="term">Apply all available patches:</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
Before reporting a problem in Berkeley DB, please upgrade
|
||
to the latest Berkeley DB release, if possible, or at least
|
||
make sure you have applied any updates available for your
|
||
release from the
|
||
<a class="ulink" href="http://www.oracle.com/technetwork/database/berkeleydb/downloads/index.html" target="_top">
|
||
Berkeley DB web site
|
||
</a>.
|
||
</p>
|
||
</dd>
|
||
<dt>
|
||
<span class="term">Run the test suite:</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
If you see repeated failures or failures of simple test
|
||
cases, run the Berkeley DB test suite to determine whether
|
||
the distribution of Berkeley DB you are using was built and
|
||
configured correctly.
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="navfooter">
|
||
<hr />
|
||
<table width="100%" summary="Navigation footer">
|
||
<tr>
|
||
<td width="40%" align="left"><a accesskey="p" href="install_multiple.html">Prev</a> </td>
|
||
<td width="20%" align="center"> </td>
|
||
<td width="40%" align="right"> <a accesskey="n" href="debug_compile.html">Next</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="40%" align="left" valign="top">Building with multiple versions of Berkeley DB </td>
|
||
<td width="20%" align="center">
|
||
<a accesskey="h" href="index.html">Home</a>
|
||
</td>
|
||
<td width="40%" align="right" valign="top"> Compile-time configuration</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</body>
|
||
</html>
|