/* **********************************************************
 * Copyright (c) 2013-2021 Google, Inc.  All rights reserved.
 * **********************************************************/

/*
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * * Redistributions of source code must retain the above copyright notice,
 *   this list of conditions and the following disclaimer.
 *
 * * Redistributions in binary form must reproduce the above copyright notice,
 *   this list of conditions and the following disclaimer in the documentation
 *   and/or other materials provided with the distribution.
 *
 * * Neither the name of Google, Inc. nor the names of its contributors may be
 *   used to endorse or promote products derived from this software without
 *   specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL GOOGLE, INC. OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
 * DAMAGE.
 */

/**
***************************************************************************
***************************************************************************
\page page_tool Available Tools

A collection of powerful DynamoRIO-based tools are provided for direct use.
A tool can be invoked using the option \p -t with the tool name.
For example:
\code
bin64/drrun -t drcov -- application arg1 arg2
\endcode

Those interested in how the -t option works should see
the section \ref tool_frontend.

REPLACE_WITH_GENDOX_SUBPAGES
- \subpage page_drmemory
- \subpage page_drstrace
- \subpage page_drltrace
- \subpage page_symquery
- \subpage page_additional_tools


\page page_additional_tools Additional Sample Tools

DynamoRIO provides a number of additional tools that do not each contain a
separate front-end or extensive documentation.  These samples are meant as
starting points for building customized tools, but can also be used
directly with the \p -c option to \p drrun.  They are listed and described
at \ref API_samples.

*/

/**
\page page_drmemory Dr. Memory Memory Debugging Tool

Dr. Memory is a memory monitoring tool capable of identifying
memory-related programming errors such as accesses of uninitialized memory,
accesses to unaddressable memory (including outside of allocated heap units
and heap underflow and overflow), accesses to freed memory, double frees,
memory leaks, and (on Windows) handle leaks, GDI API usage errors, and
accesses to un-reserved thread local storage slots.

<a href="http://drmemory.org">Dr. Memory is its own stand-alone tool</a>.
It is also included with DynamoRIO versions 5.0.0 and higher.  If this
documentation is part of a DynamoRIO public release, <a
href="../../drmemory/drmemory/docs/html/index.html">this link</a>
should point at the local documentation provided with the release package.
*/

/**
\page page_drstrace System Call Tracer for Windows

\p drstrace is a system call tracing tool for Windows.
It is part of the
<a href="http://drmemory.org">Dr. Memory tool suite</a>. It is also
included with DynamoRIO versions 5.0.0 and higher.

If this documentation is part of a DynamoRIO public release,
<a href="../../drmemory/drmemory/docs/html/page_drstrace.html">this link</a> should
point at the local documentation provided with the release package.
<a href="https://drmemory.org/page_drstrace.html">This one</a> points to the online
documentation.
*/

/**
\page page_drltrace Library Call Tracer

\p drltrace is a library call tracing tool for all platforms.  It is part of the
<a href="http://drmemory.org">Dr. Memory tool suite</a>. It is also
included with DynamoRIO versions 5.0.0 and higher.

If this documentation is part of a DynamoRIO public release,
<a href="../../drmemory/drmemory/docs/html/page_drltrace.html">this link
</a> should point at the local documentation provided with the release package.
<a href="https://dynamorio.org/page_drltrace.html">This one</a> points to the online
documentation.
*/

/**
\page page_symquery Symbol Query Tool

\p symquery is a symbol querying tool that operates on Linux, Mac, and
Windows and supports the Windows PDB, Linux ELF, Mac Mach-O, and Windows
PECOFF formats with DWARF2 line information.  It is part of the
<a href="http://drmemory.org">Dr. Memory tool suite</a>. It is also included
with DynamoRIO versions 5.0.0 and higher.

If this documentation is part of a DynamoRIO public release,
<a href="../../drmemory/drmemory/docs/html/page_symquery.html">this link</a>
should point at the local documentation provided with the release package.
<a href="https://dynamorio.org/page_symquery.html">This one</a> points to the online
documentation.
*/
