Summary: Update documentation and add a version for v1.0.0. Reviewed By: martintrojer Differential Revision: D24191031 fbshipit-source-id: 0a57c693emaster
parent
56fd330760
commit
cce19349a8
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
title: "TOPL"
|
||||||
|
description: "Detects errors based on user-provided state machines describing multi-object monitors."
|
||||||
|
---
|
||||||
|
|
||||||
|
Detects errors based on user-provided state machines describing multi-object monitors.
|
||||||
|
|
||||||
|
Activate with `--topl-biabd`.
|
||||||
|
|
||||||
|
Supported languages:
|
||||||
|
- C/C++/ObjC: Experimental
|
||||||
|
- Java: Experimental
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## List of Issue Types
|
||||||
|
|
||||||
|
The following issue types are reported by this checker:
|
||||||
|
- [TOPL_BIABD_ERROR](/docs/next/all-issue-types#topl_biabd_error)
|
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
title: "TOPL"
|
||||||
|
description: "Detects errors based on user-provided state machines describing multi-object monitors."
|
||||||
|
---
|
||||||
|
|
||||||
|
Detects errors based on user-provided state machines describing multi-object monitors.
|
||||||
|
|
||||||
|
Activate with `--topl-pulse`.
|
||||||
|
|
||||||
|
Supported languages:
|
||||||
|
- C/C++/ObjC: Experimental
|
||||||
|
- Java: Experimental
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## List of Issue Types
|
||||||
|
|
||||||
|
The following issue types are reported by this checker:
|
||||||
|
- [TOPL_PULSE_ERROR](/docs/next/all-issue-types#topl_pulse_error)
|
@ -0,0 +1,953 @@
|
|||||||
|
<!-- Creator : groff version 1.22.4 -->
|
||||||
|
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
|
<meta name="Content-Style" content="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
h1 { text-align: center }
|
||||||
|
</style>
|
||||||
|
<title>infer-analyze</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 align="center">infer-analyze</h1>
|
||||||
|
|
||||||
|
<a href="#NAME">NAME</a><br>
|
||||||
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
||||||
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
||||||
|
<a href="#OPTIONS">OPTIONS</a><br>
|
||||||
|
<a href="#BUCK OPTIONS">BUCK OPTIONS</a><br>
|
||||||
|
<a href="#BUFFER OVERRUN OPTIONS">BUFFER OVERRUN OPTIONS</a><br>
|
||||||
|
<a href="#CLANG OPTIONS">CLANG OPTIONS</a><br>
|
||||||
|
<a href="#JAVA OPTIONS">JAVA OPTIONS</a><br>
|
||||||
|
<a href="#QUANDARY CHECKER OPTIONS">QUANDARY CHECKER OPTIONS</a><br>
|
||||||
|
<a href="#RACERD CHECKER OPTIONS">RACERD CHECKER OPTIONS</a><br>
|
||||||
|
<a href="#SIOF CHECKER OPTIONS">SIOF CHECKER OPTIONS</a><br>
|
||||||
|
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
|
||||||
|
<a href="#FILES">FILES</a><br>
|
||||||
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>NAME
|
||||||
|
<a name="NAME"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">infer-analyze -
|
||||||
|
analyze the files captured by infer</p>
|
||||||
|
|
||||||
|
<h2>SYNOPSIS
|
||||||
|
<a name="SYNOPSIS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer
|
||||||
|
analyze</b> <i>[options]</i> <b><br>
|
||||||
|
infer</b> <i>[options]</i></p>
|
||||||
|
|
||||||
|
<h2>DESCRIPTION
|
||||||
|
<a name="DESCRIPTION"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">Analyze the
|
||||||
|
files captured in the project results directory and
|
||||||
|
report.</p>
|
||||||
|
|
||||||
|
<h2>OPTIONS
|
||||||
|
<a name="OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--annotation-reachability</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker
|
||||||
|
annotation-reachability: Given a pair of source and sink
|
||||||
|
annotation, e.g. ’@PerformanceCritical’ and
|
||||||
|
’@Expensive’, this checker will warn whenever
|
||||||
|
some method annotated with
|
||||||
|
’@PerformanceCritical’ calls, directly or
|
||||||
|
indirectly, another method annotated with
|
||||||
|
’@Expensive’ (Conversely:
|
||||||
|
<b>--no-annotation-reachability</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--annotation-reachability-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable
|
||||||
|
annotation-reachability and disable all other checkers
|
||||||
|
(Conversely: <b>--no-annotation-reachability-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-biabduction</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: checker
|
||||||
|
biabduction: This analysis deals with a range of issues,
|
||||||
|
many linked to memory safety. (Conversely:
|
||||||
|
<b>--biabduction</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--biabduction-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable biabduction
|
||||||
|
and disable all other checkers (Conversely:
|
||||||
|
<b>--no-biabduction-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--bufferoverrun</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker
|
||||||
|
bufferoverrun: InferBO is a detector for out-of-bounds array
|
||||||
|
accesses. (Conversely: <b>--no-bufferoverrun</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--bufferoverrun-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable bufferoverrun
|
||||||
|
and disable all other checkers (Conversely:
|
||||||
|
<b>--no-bufferoverrun-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--changed-files-index</b>
|
||||||
|
<i>file</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the file containing the
|
||||||
|
list of source files from which reactive analysis should
|
||||||
|
start. Source files should be specified relative to project
|
||||||
|
root or be absolute</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--config-checks-between-markers</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker
|
||||||
|
config-checks-between-markers: [EXPERIMENTAL] Collects
|
||||||
|
config checks between marker start and end. (Conversely:
|
||||||
|
<b>--no-config-checks-between-markers</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--config-checks-between-markers-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable
|
||||||
|
config-checks-between-markers and disable all other checkers
|
||||||
|
(Conversely:
|
||||||
|
<b>--no-config-checks-between-markers-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--continue-analysis</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Continue the
|
||||||
|
analysis after more targets are captured by
|
||||||
|
<b>--continue</b>. The other analysis options should be
|
||||||
|
given the same before. Not compatible with
|
||||||
|
<b>--reanalyze</b> and <b>--incremental-analysis</b>.
|
||||||
|
(Conversely: <b>--no-continue-analysis</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--cost</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker cost:
|
||||||
|
Computes the time complexity of functions and methods. Can
|
||||||
|
be used to detect changes in runtime complexity with
|
||||||
|
’infer reportdiff’. (Conversely:
|
||||||
|
<b>--no-cost</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--cost-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable cost and
|
||||||
|
disable all other checkers (Conversely:
|
||||||
|
<b>--no-cost-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--custom-symbols</b>
|
||||||
|
<i>json</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify named lists of symbols
|
||||||
|
available to rules</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Debug mode (also
|
||||||
|
sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
|
||||||
|
<b>--print-buckets</b>, <b>--print-types</b>,
|
||||||
|
<b>--reports-include-ml-loc</b>,
|
||||||
|
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
|
||||||
|
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely:
|
||||||
|
<b>--no-debug</b> | <b>-G</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level</b>
|
||||||
|
<i>level</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level (sets
|
||||||
|
<b>--bo-debug</b> <i>level</i>,
|
||||||
|
<b>--debug-level-analysis</b> <i>level</i>,
|
||||||
|
<b>--debug-level-capture</b> <i>level</i>,
|
||||||
|
<b>--debug-level-linters</b> <i>level</i>):</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;">- 0: only basic debugging
|
||||||
|
enabled <br>
|
||||||
|
- 1: verbose debugging enabled <br>
|
||||||
|
- 2: very verbose debugging enabled <b><br>
|
||||||
|
--debug-level-analysis</b> <i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the analysis.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level-capture</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the capture.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level-linters</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the linters.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-deduplicate</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Apply
|
||||||
|
issue-specific deduplication during analysis and/or
|
||||||
|
reporting. (Conversely: <b>--deduplicate</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-default-checkers</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Default checkers:
|
||||||
|
<b>--biabduction</b>, <b>--fragment-retains-view</b>,
|
||||||
|
<b>--inefficient-keyset-iterator</b>, <b>--linters</b>,
|
||||||
|
<b>--liveness</b>, <b>--racerd</b>, <b>--siof</b>,
|
||||||
|
<b>--self-in-block</b>, <b>--starvation</b>, <b>--uninit</b>
|
||||||
|
(Conversely: <b>--default-checkers</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--eradicate</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker eradicate:
|
||||||
|
The eradicate ’@Nullable’ checker for Java
|
||||||
|
annotations. (Conversely: <b>--no-eradicate</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--eradicate-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable eradicate and
|
||||||
|
disable all other checkers (Conversely:
|
||||||
|
<b>--no-eradicate-only</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-fragment-retains-view</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: checker
|
||||||
|
fragment-retains-view: Detects when Android fragments are
|
||||||
|
not explicitly nullified before becoming unreachable.
|
||||||
|
(Conversely: <b>--fragment-retains-view</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--fragment-retains-view-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable
|
||||||
|
fragment-retains-view and disable all other checkers
|
||||||
|
(Conversely: <b>--no-fragment-retains-view-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
|
||||||
|
| groff | pager | plain }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this help in the specified
|
||||||
|
format. <b>auto</b> sets the format to <b>plain</b> if the
|
||||||
|
environment variable <b>TERM</b> is "dumb" or
|
||||||
|
undefined, and to <b>pager</b> otherwise.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-full</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual with all
|
||||||
|
internal options in the INTERNAL OPTIONS section</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--immutable-cast</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker
|
||||||
|
immutable-cast: Detection of object cast from immutable
|
||||||
|
types to mutable types. For instance, it will detect casts
|
||||||
|
from ’ImmutableList’ to ’List’,
|
||||||
|
’ImmutableMap’ to ’Map’, and
|
||||||
|
’ImmutableSet’ to ’Set’.
|
||||||
|
(Conversely: <b>--no-immutable-cast</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--immutable-cast-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable
|
||||||
|
immutable-cast and disable all other checkers (Conversely:
|
||||||
|
<b>--no-immutable-cast-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--impurity</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker impurity:
|
||||||
|
Detects functions with potential side-effects. Same as
|
||||||
|
"purity", but implemented on top of Pulse.
|
||||||
|
(Conversely: <b>--no-impurity</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--impurity-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable impurity and
|
||||||
|
disable all other checkers (Conversely:
|
||||||
|
<b>--no-impurity-only</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-inefficient-keyset-iterator</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: checker
|
||||||
|
inefficient-keyset-iterator: Check for inefficient uses of
|
||||||
|
iterators that iterate on keys then lookup their values,
|
||||||
|
instead of iterating on key-value pairs directly.
|
||||||
|
(Conversely: <b>--inefficient-keyset-iterator</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--inefficient-keyset-iterator-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable
|
||||||
|
inefficient-keyset-iterator and disable all other checkers
|
||||||
|
(Conversely:
|
||||||
|
<b>--no-inefficient-keyset-iterator-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--jobs</b>,<b>-j</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Run the specified number of
|
||||||
|
analysis jobs simultaneously</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--keep-going</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Keep going when the
|
||||||
|
analysis encounters a failure (Conversely:
|
||||||
|
<b>--no-keep-going</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-linters</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: checker linters:
|
||||||
|
Declarative linting framework over the Clang AST.
|
||||||
|
(Conversely: <b>--linters</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--linters-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable linters and
|
||||||
|
disable all other checkers (Conversely:
|
||||||
|
<b>--no-linters-only</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--litho-required-props</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker
|
||||||
|
litho-required-props: Checks that all non-optional
|
||||||
|
’@Prop’s have been specified when constructing
|
||||||
|
Litho components. (Conversely:
|
||||||
|
<b>--no-litho-required-props</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--litho-required-props-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable
|
||||||
|
litho-required-props and disable all other checkers
|
||||||
|
(Conversely: <b>--no-litho-required-props-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-liveness</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: checker liveness:
|
||||||
|
Detection of dead stores and unused variables. (Conversely:
|
||||||
|
<b>--liveness</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--liveness-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable liveness and
|
||||||
|
disable all other checkers (Conversely:
|
||||||
|
<b>--no-liveness-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--loop-hoisting</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker
|
||||||
|
loop-hoisting: Detect opportunities to hoist function calls
|
||||||
|
that are invariant outside of loop bodies for efficiency.
|
||||||
|
(Conversely: <b>--no-loop-hoisting</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--loop-hoisting-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable loop-hoisting
|
||||||
|
and disable all other checkers (Conversely:
|
||||||
|
<b>--no-loop-hoisting-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--max-jobs</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Maximum number of analysis jobs
|
||||||
|
running simultaneously</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--print-active-checkers</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print the active
|
||||||
|
checkers before starting the analysis (Conversely:
|
||||||
|
<b>--no-print-active-checkers</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--print-logs</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Also log messages to
|
||||||
|
stdout and stderr (Conversely: <b>--no-print-logs</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--printf-args</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker printf-args:
|
||||||
|
Detect mismatches between the Java ’printf’
|
||||||
|
format strings and the argument types For example, this
|
||||||
|
checker will warn about the type error in
|
||||||
|
’printf("Hello %d",
|
||||||
|
"world")’ (Conversely:
|
||||||
|
<b>--no-printf-args</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--printf-args-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable printf-args
|
||||||
|
and disable all other checkers (Conversely:
|
||||||
|
<b>--no-printf-args-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--progress-bar-style</b>
|
||||||
|
<i>{ auto | plain | multiline }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Style of the progress bar.
|
||||||
|
<b>auto</b> selects <b>multiline</b> if connected to a tty,
|
||||||
|
otherwise <b>plain</b>.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--project-root</b>,<b>-C</b>
|
||||||
|
<i>dir</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the root directory of
|
||||||
|
the project</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--pulse</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker pulse:
|
||||||
|
Memory and lifetime analysis. (Conversely:
|
||||||
|
<b>--no-pulse</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--pulse-cut-to-one-path-procedures-pattern</b>
|
||||||
|
<i>string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Regex of methods for which
|
||||||
|
pulse will only explore one path. Can be used on
|
||||||
|
pathologically large procedures to prevent too-big states
|
||||||
|
from being produced.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--pulse-model-abort</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Methods that should be modelled
|
||||||
|
as abort in Pulse</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--pulse-model-alloc-pattern</b>
|
||||||
|
<i>string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Regex of methods that should be
|
||||||
|
modelled as allocs in Pulse</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--pulse-model-release-pattern</b>
|
||||||
|
<i>string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Regex of methods that should be
|
||||||
|
modelled as release in Pulse</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--pulse-model-return-nonnull</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Methods that should be modelled
|
||||||
|
as returning non-null in Pulse</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--pulse-model-skip-pattern</b>
|
||||||
|
<i>string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Regex of methods that should be
|
||||||
|
modelled as "skip" in Pulse</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--pulse-model-transfer-ownership</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Methods that should be modelled
|
||||||
|
as transfering memory ownership in Pulse. Accepted formats
|
||||||
|
are method or namespace::method</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--pulse-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable pulse and
|
||||||
|
disable all other checkers (Conversely:
|
||||||
|
<b>--no-pulse-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--purity</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker purity:
|
||||||
|
Detects pure (side-effect-free) functions. A different
|
||||||
|
implementation of "impurity". (Conversely:
|
||||||
|
<b>--no-purity</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--purity-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable purity and
|
||||||
|
disable all other checkers (Conversely:
|
||||||
|
<b>--no-purity-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--quandary</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker quandary:
|
||||||
|
The Quandary taint analysis detects flows of values between
|
||||||
|
sources and sinks, except if the value went through a
|
||||||
|
"sanitizer". In addition to some defaults, users
|
||||||
|
can specify their own sources, sinks, and sanitizers
|
||||||
|
functions. (Conversely: <b>--no-quandary</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--quandary-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable quandary and
|
||||||
|
disable all other checkers (Conversely:
|
||||||
|
<b>--no-quandary-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--quiet</b>,<b>-q</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Do not print
|
||||||
|
anything on standard output. (Conversely: <b>--no-quiet</b>
|
||||||
|
| <b>-Q</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-racerd</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: checker racerd:
|
||||||
|
Thread safety analysis. (Conversely: <b>--racerd</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--racerd-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable racerd and
|
||||||
|
disable all other checkers (Conversely:
|
||||||
|
<b>--no-racerd-only</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--reactive</b>,<b>-r</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Reactive mode: the
|
||||||
|
analysis starts from the files captured since the
|
||||||
|
<i>infer</i> command started (Conversely:
|
||||||
|
<b>--no-reactive</b> | <b>-R</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-report</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Run the reporting
|
||||||
|
phase once the analysis has completed (Conversely:
|
||||||
|
<b>--report</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-force-relative-path</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Force converting an
|
||||||
|
absolute path to a relative path to the root directory
|
||||||
|
(Conversely: <b>--no-report-force-relative-path</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--results-dir</b>,<b>-o</b>
|
||||||
|
<i>dir</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Write results and internal
|
||||||
|
files in the specified directory</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--scheduler</b> <i>{ file |
|
||||||
|
restart | callgraph }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the scheduler used for
|
||||||
|
the analysis phase:</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;">- file: schedule one job per
|
||||||
|
file <br>
|
||||||
|
- callgraph: schedule one job per procedure, following the
|
||||||
|
<br>
|
||||||
|
syntactic call graph. Usually faster than "file".
|
||||||
|
<br>
|
||||||
|
- restart: same as callgraph but uses locking to try and
|
||||||
|
avoid <br>
|
||||||
|
duplicate work between different analysis processes and thus
|
||||||
|
<br>
|
||||||
|
performs better in some circumstances <b><br>
|
||||||
|
--no-self-in-block</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: checker
|
||||||
|
self-in-block: An Objective-C-specific analysis to detect
|
||||||
|
when a block captures ’self’. (Conversely:
|
||||||
|
<b>--self-in-block</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--self-in-block-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable self-in-block
|
||||||
|
and disable all other checkers (Conversely:
|
||||||
|
<b>--no-self-in-block-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-siof</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: checker siof:
|
||||||
|
Catches Static Initialization Order Fiascos in C++, that can
|
||||||
|
lead to subtle, compiler-version-dependent errors.
|
||||||
|
(Conversely: <b>--siof</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--siof-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable siof and
|
||||||
|
disable all other checkers (Conversely:
|
||||||
|
<b>--no-siof-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--sqlite-cache-size</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">SQLite cache size in pages (if
|
||||||
|
positive) or kB (if negative), follows formal of
|
||||||
|
corresponding SQLite PRAGMA.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--sqlite-lock-timeout</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Timeout for SQLite results
|
||||||
|
database operations, in milliseconds.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--sqlite-page-size</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">SQLite page size in bytes, must
|
||||||
|
be a power of two between 512 and 65536.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-starvation</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: checker
|
||||||
|
starvation: Detect various kinds of situations when no
|
||||||
|
progress is being made because of concurrency errors.
|
||||||
|
(Conversely: <b>--starvation</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--starvation-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable starvation
|
||||||
|
and disable all other checkers (Conversely:
|
||||||
|
<b>--no-starvation-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--topl-biabd</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker topl-biabd:
|
||||||
|
Detects errors based on user-provided state machines
|
||||||
|
describing multi-object monitors. (Conversely:
|
||||||
|
<b>--no-topl-biabd</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--topl-biabd-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable topl-biabd
|
||||||
|
and disable all other checkers (Conversely:
|
||||||
|
<b>--no-topl-biabd-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--topl-pulse</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: checker topl-pulse:
|
||||||
|
Detects errors based on user-provided state machines
|
||||||
|
describing multi-object monitors. (Conversely:
|
||||||
|
<b>--no-topl-pulse</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--topl-pulse-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable topl-pulse
|
||||||
|
and disable all other checkers (Conversely:
|
||||||
|
<b>--no-topl-pulse-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-uninit</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: checker uninit:
|
||||||
|
Warns when values are used before having been initialized.
|
||||||
|
(Conversely: <b>--uninit</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--uninit-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Enable uninit and
|
||||||
|
disable all other checkers (Conversely:
|
||||||
|
<b>--no-uninit-only</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--xcode-isysroot-suffix</b>
|
||||||
|
<i>string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the suffix of Xcode
|
||||||
|
isysroot directory, to avoid absolute paths in tests</p>
|
||||||
|
|
||||||
|
<h2>BUCK OPTIONS
|
||||||
|
<a name="BUCK OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--merge</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Merge the captured
|
||||||
|
results directories specified in the dependency file.
|
||||||
|
(Conversely: <b>--no-merge</b>)</p>
|
||||||
|
|
||||||
|
<h2>BUFFER OVERRUN OPTIONS
|
||||||
|
<a name="BUFFER OVERRUN OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--bo-debug</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for buffer-overrun
|
||||||
|
checker (0-4)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--bo-field-depth-limit</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Limit of field depth of
|
||||||
|
abstract location in buffer-overrun checker</p>
|
||||||
|
|
||||||
|
<h2>CLANG OPTIONS
|
||||||
|
<a name="CLANG OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--annotation-reachability-cxx</b>
|
||||||
|
<i>json</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify annotation reachability
|
||||||
|
analyses to be performed on C/C++/ObjC code. Each entry is a
|
||||||
|
JSON object whose key is the issue name. "sources"
|
||||||
|
and "sinks" can be specified either by symbol
|
||||||
|
(including regexps) or path prefix. "sinks"
|
||||||
|
optionally can specify "overrides" (by symbol or
|
||||||
|
path prefix) that block the reachability analysis when hit.
|
||||||
|
Example:</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;">{ <br>
|
||||||
|
"ISOLATED_REACHING_CONNECT": { <br>
|
||||||
|
"doc_url": <br>
|
||||||
|
|
||||||
|
"http:://example.com/issue/doc/optional_link.html",
|
||||||
|
<br>
|
||||||
|
"sources": { <br>
|
||||||
|
"desc": "Code that should not call connect
|
||||||
|
[optional]", <br>
|
||||||
|
"paths": [ "isolated/" ] <br>
|
||||||
|
}, <br>
|
||||||
|
"sinks": { <br>
|
||||||
|
"symbols": [ "connect" ], <br>
|
||||||
|
"overrides": { "symbol_regexps": [
|
||||||
|
".*::Trusted::.*" ] } <br>
|
||||||
|
} <br>
|
||||||
|
} <br>
|
||||||
|
} <br>
|
||||||
|
This will cause us to create a new ISOLATED_REACHING_CONNECT
|
||||||
|
<br>
|
||||||
|
issue for every function whose source path starts with
|
||||||
|
"isolated/" <br>
|
||||||
|
that may reach the function named "connect",
|
||||||
|
ignoring paths that <br>
|
||||||
|
go through a symbol matching the OCaml regexp
|
||||||
|
".*::Trusted::.*". <b><br>
|
||||||
|
--annotation-reachability-cxx-sources</b> <i>json</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Override sources in all cxx
|
||||||
|
annotation reachability specs with the given sources
|
||||||
|
spec</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--clang-compound-literal-init-limit</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Limit after which
|
||||||
|
initialization of compound types (structs and arrays) is not
|
||||||
|
done element by element but using a builtin function that
|
||||||
|
each analysis has to model.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--cxx-scope-guards</b>
|
||||||
|
<i>json</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify scope guard classes
|
||||||
|
that can be read only by destructors without being reported
|
||||||
|
as dead stores.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--liveness-dangerous-classes</b>
|
||||||
|
<i>json</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify classes where the
|
||||||
|
destructor should be ignored when computing liveness. In
|
||||||
|
other words, assignement to variables of these types (or
|
||||||
|
common wrappers around these types such as
|
||||||
|
<i>unique_ptr<type></i>) will count as dead stores
|
||||||
|
when the variables are not read explicitly by the
|
||||||
|
program.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--ml-buckets</b>
|
||||||
|
<i>,-separated sequence of { all | cf | arc | narc | cpp |
|
||||||
|
<br>
|
||||||
|
unknown_origin }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the memory leak buckets
|
||||||
|
to be checked in C++:</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;">- <b>cpp</b> from C++ code
|
||||||
|
<b><br>
|
||||||
|
--unsafe-malloc</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Assume that
|
||||||
|
malloc(3) never returns null. (Conversely:
|
||||||
|
<b>--no-unsafe-malloc</b>)</p>
|
||||||
|
|
||||||
|
<h2>JAVA OPTIONS
|
||||||
|
<a name="JAVA OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--annotation-reachability-custom-pairs</b>
|
||||||
|
<i>json</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify custom sources/sink for
|
||||||
|
the annotation reachability checker</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;">Example format: for custom
|
||||||
|
annotations <br>
|
||||||
|
com.my.annotation.{Source1,Source2,Sink1} <br>
|
||||||
|
{ "sources" : ["Source1",
|
||||||
|
"Source2"], "sink" : "Sink1" }
|
||||||
|
<b><br>
|
||||||
|
--external-java-packages</b> <i>+prefix</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify a list of Java package
|
||||||
|
prefixes for external Java packages. If set, the analysis
|
||||||
|
will not report non-actionable warnings on those
|
||||||
|
packages.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--java-version</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">The version of Java being used.
|
||||||
|
Set it to your Java version if mvn is failing.</p>
|
||||||
|
|
||||||
|
<h2>QUANDARY CHECKER OPTIONS
|
||||||
|
<a name="QUANDARY CHECKER OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--quandary-endpoints</b>
|
||||||
|
<i>json</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify endpoint classes for
|
||||||
|
Quandary</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--quandary-sanitizers</b>
|
||||||
|
<i>json</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify custom sanitizers for
|
||||||
|
Quandary</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--quandary-sinks</b>
|
||||||
|
<i>json</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify custom sinks for
|
||||||
|
Quandary</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--quandary-sources</b>
|
||||||
|
<i>json</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify custom sources for
|
||||||
|
Quandary</p>
|
||||||
|
|
||||||
|
<h2>RACERD CHECKER OPTIONS
|
||||||
|
<a name="RACERD CHECKER OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--racerd-guardedby</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Check @GuardedBy
|
||||||
|
annotations with RacerD (Conversely:
|
||||||
|
<b>--no-racerd-guardedby</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-racerd-unknown-returns-owned</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: DEPRECATED, does
|
||||||
|
nothing. (Conversely:
|
||||||
|
<b>--racerd-unknown-returns-owned</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--threadsafe-aliases</b>
|
||||||
|
<i>json</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify custom annotations that
|
||||||
|
should be considered aliases of @ThreadSafe</p>
|
||||||
|
|
||||||
|
<h2>SIOF CHECKER OPTIONS
|
||||||
|
<a name="SIOF CHECKER OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--siof-check-iostreams</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Do not assume that
|
||||||
|
iostreams (cout, cerr, ...) are always initialized. The
|
||||||
|
default is to assume they are always initialized to avoid
|
||||||
|
false positives. However, if your program compiles against a
|
||||||
|
recent libstdc++ then it is safe to turn this option on.
|
||||||
|
(Conversely: <b>--no-siof-check-iostreams</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--siof-safe-methods</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Methods that are SIOF-safe;
|
||||||
|
"foo::bar" will match "foo::bar()",
|
||||||
|
"foo<int>::bar()", etc. (can be specified
|
||||||
|
multiple times)</p>
|
||||||
|
|
||||||
|
<h2>ENVIRONMENT
|
||||||
|
<a name="ENVIRONMENT"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
|
||||||
|
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the ENVIRONMENT section in
|
||||||
|
the manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>FILES
|
||||||
|
<a name="FILES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the FILES section in the
|
||||||
|
manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>SEE ALSO
|
||||||
|
<a name="SEE ALSO"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer-report</b>(1),
|
||||||
|
<b>infer-run</b>(1)</p>
|
||||||
|
<hr>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,604 @@
|
|||||||
|
<!-- Creator : groff version 1.22.4 -->
|
||||||
|
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
|
<meta name="Content-Style" content="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
h1 { text-align: center }
|
||||||
|
</style>
|
||||||
|
<title>infer-capture</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 align="center">infer-capture</h1>
|
||||||
|
|
||||||
|
<a href="#NAME">NAME</a><br>
|
||||||
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
||||||
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
||||||
|
<a href="#OPTIONS">OPTIONS</a><br>
|
||||||
|
<a href="#BUCK OPTIONS">BUCK OPTIONS</a><br>
|
||||||
|
<a href="#CLANG LINTERS OPTIONS">CLANG LINTERS OPTIONS</a><br>
|
||||||
|
<a href="#CLANG OPTIONS">CLANG OPTIONS</a><br>
|
||||||
|
<a href="#JAVA OPTIONS">JAVA OPTIONS</a><br>
|
||||||
|
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
|
||||||
|
<a href="#FILES">FILES</a><br>
|
||||||
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>NAME
|
||||||
|
<a name="NAME"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">infer-capture -
|
||||||
|
capture source files for later analysis</p>
|
||||||
|
|
||||||
|
<h2>SYNOPSIS
|
||||||
|
<a name="SYNOPSIS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer
|
||||||
|
capture --buck-java</b> <i>[options]</i> <b>-- buck</b>
|
||||||
|
<i>...</i> <b><br>
|
||||||
|
infer capture --buck-clang</b> <i>[options]</i> <b>--
|
||||||
|
buck</b> <i>...</i> <b><br>
|
||||||
|
infer capture --buck-compilation-database</b> <i>[no-]deps
|
||||||
|
[options]</i> <b>-- buck</b> <i>...</i> <b><br>
|
||||||
|
infer capture</b> <i>[options]</i>
|
||||||
|
<b>--compilation-database</b> <i>file</i> <b><br>
|
||||||
|
infer capture</b> <i>[options]</i>
|
||||||
|
<b>--compilation-database-escaped</b> <i>file</i> <b><br>
|
||||||
|
infer capture</b> <i>[options]</i> <b>--
|
||||||
|
gradle</b>/<b>gradlew</b> <i>...</i> <b><br>
|
||||||
|
infer capture</b> <i>[options]</i> <b>-- javac</b>
|
||||||
|
<i>...</i> <b><br>
|
||||||
|
infer capture</b> <i>[options]</i> <b>--
|
||||||
|
make</b>/<b>clang</b>/<b>gcc</b> <i>...</i> <b><br>
|
||||||
|
infer capture</b> <i>[options]</i> <b>-- mvn</b>/<b>mvnw</b>
|
||||||
|
<i>...</i> <b><br>
|
||||||
|
infer capture</b> <i>[options]</i> <b>-- ndk-build</b>
|
||||||
|
<i>...</i> <b><br>
|
||||||
|
infer capture</b> <i>[--no-xcpretty] [options]</i> <b>--
|
||||||
|
xcodebuild</b> <i>...</i></p>
|
||||||
|
|
||||||
|
<h2>DESCRIPTION
|
||||||
|
<a name="DESCRIPTION"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">Capture the
|
||||||
|
build command or compilation database specified on the
|
||||||
|
command line: infer intercepts calls to the compiler to read
|
||||||
|
source files, translate them into infer's intermediate
|
||||||
|
representation, and store the result of the translation in
|
||||||
|
the results directory.</p>
|
||||||
|
|
||||||
|
<h2>OPTIONS
|
||||||
|
<a name="OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--continue</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Continue the capture
|
||||||
|
for the reactive analysis, increasing the changed
|
||||||
|
files/procedures. (If a procedure was changed beforehand,
|
||||||
|
keep the changed marking.) (Conversely:
|
||||||
|
<b>--no-continue</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Debug mode (also
|
||||||
|
sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
|
||||||
|
<b>--print-buckets</b>, <b>--print-types</b>,
|
||||||
|
<b>--reports-include-ml-loc</b>,
|
||||||
|
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
|
||||||
|
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely:
|
||||||
|
<b>--no-debug</b> | <b>-G</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level</b>
|
||||||
|
<i>level</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level (sets
|
||||||
|
<b>--bo-debug</b> <i>level</i>,
|
||||||
|
<b>--debug-level-analysis</b> <i>level</i>,
|
||||||
|
<b>--debug-level-capture</b> <i>level</i>,
|
||||||
|
<b>--debug-level-linters</b> <i>level</i>):</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;">- 0: only basic debugging
|
||||||
|
enabled <br>
|
||||||
|
- 1: verbose debugging enabled <br>
|
||||||
|
- 2: very verbose debugging enabled <b><br>
|
||||||
|
--debug-level-analysis</b> <i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the analysis.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level-capture</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the capture.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level-linters</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the linters.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--force-delete-results-dir</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Do not refuse to
|
||||||
|
delete the results directory if it doesn't look like an
|
||||||
|
infer results directory. (Conversely:
|
||||||
|
<b>--no-force-delete-results-dir</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--force-integration</b>
|
||||||
|
<i>command</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Proceed as if the first
|
||||||
|
argument after <b>--</b> was <i>command</i>. Possible
|
||||||
|
values: <i>ant</i>, <i>buck</i>, <i>gradle</i>,
|
||||||
|
<i>gradlew</i>, <i>java</i>, <i>javac</i>, <i>cc</i>,
|
||||||
|
<i>clang</i>, <i>gcc</i>, <i>clang++</i>, <i>c++</i>,
|
||||||
|
<i>g++</i>, <i>make</i>, <i>configure</i>, <i>cmake</i>,
|
||||||
|
<i>waf</i>, <i>mvn</i>, <i>mvnw</i>, <i>ndk-build</i>,
|
||||||
|
<i>xcodebuild</i>.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
|
||||||
|
| groff | pager | plain }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this help in the specified
|
||||||
|
format. <b>auto</b> sets the format to <b>plain</b> if the
|
||||||
|
environment variable <b>TERM</b> is "dumb" or
|
||||||
|
undefined, and to <b>pager</b> otherwise.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-full</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual with all
|
||||||
|
internal options in the INTERNAL OPTIONS section</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--load-average</b>,<b>-l</b>
|
||||||
|
<i>float</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Do not start new parallel jobs
|
||||||
|
if the load average is greater than that specified (Buck and
|
||||||
|
make only)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--print-logs</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Also log messages to
|
||||||
|
stdout and stderr (Conversely: <b>--no-print-logs</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--progress-bar-style</b>
|
||||||
|
<i>{ auto | plain | multiline }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Style of the progress bar.
|
||||||
|
<b>auto</b> selects <b>multiline</b> if connected to a tty,
|
||||||
|
otherwise <b>plain</b>.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--project-root</b>,<b>-C</b>
|
||||||
|
<i>dir</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the root directory of
|
||||||
|
the project</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--results-dir</b>,<b>-o</b>
|
||||||
|
<i>dir</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Write results and internal
|
||||||
|
files in the specified directory</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--skip-analysis-in-path</b>
|
||||||
|
<i>+path_prefix_OCaml_regex</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Ignore files whose path matches
|
||||||
|
the given prefix (can be specified multiple times)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--sqlite-cache-size</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">SQLite cache size in pages (if
|
||||||
|
positive) or kB (if negative), follows formal of
|
||||||
|
corresponding SQLite PRAGMA.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--sqlite-lock-timeout</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Timeout for SQLite results
|
||||||
|
database operations, in milliseconds.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--sqlite-page-size</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">SQLite page size in bytes, must
|
||||||
|
be a power of two between 512 and 65536.</p>
|
||||||
|
|
||||||
|
<table width="100%" border="0" rules="none" frame="void"
|
||||||
|
cellspacing="0" cellpadding="0">
|
||||||
|
<tr valign="top" align="left">
|
||||||
|
<td width="11%"></td>
|
||||||
|
<td width="3%">
|
||||||
|
|
||||||
|
|
||||||
|
<p><b>--</b></p></td>
|
||||||
|
<td width="3%"></td>
|
||||||
|
<td width="83%">
|
||||||
|
|
||||||
|
|
||||||
|
<p>Stop argument processing, use remaining arguments as a
|
||||||
|
build command</p></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h2>BUCK OPTIONS
|
||||||
|
<a name="BUCK OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--append-buck-flavors</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Additional Buck flavors to
|
||||||
|
append to targets discovered by the
|
||||||
|
<b>--buck-compilation-database</b> option.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--buck-blacklist</b>
|
||||||
|
<i>+regex</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Skip capture of files matched
|
||||||
|
by the specified regular expression. Only the clang,
|
||||||
|
non-compilation-database</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;">Buck integration is supported,
|
||||||
|
not Java. <b><br>
|
||||||
|
--buck-clang</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Buck integration for
|
||||||
|
clang-based targets (C/C++/Objective-C/Objective-C++).
|
||||||
|
(Conversely: <b>--no-buck-clang</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--buck-combined</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Buck integration for
|
||||||
|
clang-based and Java targets. (Conversely:
|
||||||
|
<b>--no-buck-combined</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--buck-compilation-database</b>
|
||||||
|
<i>{ no-deps | deps }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Buck integration using the
|
||||||
|
compilation database, with or without dependencies. Only
|
||||||
|
includes clang targets, as per Buck's
|
||||||
|
<i>#compilation-database</i> flavor.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--buck-compilation-database-depth</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Depth of dependencies used by
|
||||||
|
the <b>--buck-compilation-database deps</b> option. By
|
||||||
|
default, all recursive dependencies are captured.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--buck-java</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Buck integration for
|
||||||
|
Java targets. (Conversely: <b>--no-buck-java</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--buck-java-flavor</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Buck integration for
|
||||||
|
Java which uses the buck flavor #infer-java-capture instead
|
||||||
|
of genrules like buck-java. (Conversely:
|
||||||
|
<b>--no-buck-java-flavor</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--buck-java-flavor-suppress-config</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Suppress setting
|
||||||
|
buck config values for the infer binary and its version in
|
||||||
|
the buck-java-flavor integration. (Conversely:
|
||||||
|
<b>--no-buck-java-flavor-suppress-config</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--buck-merge-all-deps</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Find and merge all
|
||||||
|
infer dependencies produced by buck. Use this flag if infer
|
||||||
|
doesn't find any files to analyze after a successful
|
||||||
|
capture. Only valid for <b>--buck-clang</b>. (Conversely:
|
||||||
|
<b>--no-buck-merge-all-deps</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--buck-targets-blacklist</b>
|
||||||
|
<i>+regex</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Skip capture of buck targets
|
||||||
|
matched by the specified regular expression. Only valid for
|
||||||
|
<b>--buck-compilation-database</b>.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--Xbuck</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Pass values as command-line
|
||||||
|
arguments to invocations of <i>’buck build’</i>.
|
||||||
|
Only valid for <b>--buck-clang</b>.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--Xbuck-no-inline</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Pass values as command-line
|
||||||
|
arguments to invocations of <i>’buck build’</i>,
|
||||||
|
don't inline any args starting with '@'. Only valid for
|
||||||
|
<b>--buck-clang</b>.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--xcode-developer-dir</b>
|
||||||
|
<i>XCODE_DEVELOPER_DIR</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the path to Xcode
|
||||||
|
developer directory, to use for Buck clang targets</p>
|
||||||
|
|
||||||
|
<h2>CLANG LINTERS OPTIONS
|
||||||
|
<a name="CLANG LINTERS OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--debug-level-linters</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the linters.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-default-linters</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Use the default
|
||||||
|
linters for the analysis. (Conversely:
|
||||||
|
<b>--default-linters</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--linter</b>
|
||||||
|
<i>string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">From the linters available,
|
||||||
|
only run this one linter. (Useful together with
|
||||||
|
<b>--linters-developer-mode</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--linters-def-file</b>
|
||||||
|
<i>+file</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the file containing
|
||||||
|
linters definition (e.g. 'linters.al')</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--linters-def-folder</b>
|
||||||
|
<i>+dir</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the folder containing
|
||||||
|
linters files with extension .al</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--linters-developer-mode</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Debug mode for
|
||||||
|
developing new linters. (Sets the analyzer to
|
||||||
|
<b>linters</b>; also sets <b>--debug</b>,
|
||||||
|
<b>--debug-level-linters 2</b>, <b>--developer-mode</b>, and
|
||||||
|
unsets <b>--allowed-failures</b> and
|
||||||
|
<b>--default-linters</b>. (Conversely:
|
||||||
|
<b>--no-linters-developer-mode</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--linters-doc-url</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify custom documentation
|
||||||
|
URL for some linter that overrides the default one. Useful
|
||||||
|
if your project has specific ways of fixing a lint error
|
||||||
|
that is not true in general or public info. Format:
|
||||||
|
linter_name:doc_url.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--linters-ignore-clang-failures</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Continue linting
|
||||||
|
files even if some compilation fails. (Conversely:
|
||||||
|
<b>--no-linters-ignore-clang-failures</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--linters-validate-syntax-only</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Validate syntax of
|
||||||
|
AL files, then emit possible errors in JSON format to stdout
|
||||||
|
(Conversely: <b>--no-linters-validate-syntax-only</b>)</p>
|
||||||
|
|
||||||
|
<h2>CLANG OPTIONS
|
||||||
|
<a name="CLANG OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--clang-biniou-file</b>
|
||||||
|
<i>file</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify a file containing the
|
||||||
|
AST of the program, in biniou format</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--clang-blacklisted-flags</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Clang flags to filter out</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--clang-blacklisted-flags-with-arg</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Clang flags (taking args) to
|
||||||
|
filter out</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--clang-compound-literal-init-limit</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Limit after which
|
||||||
|
initialization of compound types (structs and arrays) is not
|
||||||
|
done element by element but using a builtin function that
|
||||||
|
each analysis has to model.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--compilation-database</b>
|
||||||
|
<i>+path</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">File that contain compilation
|
||||||
|
commands (can be specified multiple times)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--compilation-database-escaped</b>
|
||||||
|
<i>+path</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">File that contain compilation
|
||||||
|
commands where all entries are escaped for the shell, eg
|
||||||
|
coming from Xcode (can be specified multiple times)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-cxx</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Analyze C++
|
||||||
|
methods (Conversely: <b>--cxx</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--dump-duplicate-symbols</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Dump all symbols
|
||||||
|
with the same name that are defined in more than one file.
|
||||||
|
(Conversely: <b>--no-dump-duplicate-symbols</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--frontend-tests</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Save
|
||||||
|
filename.ext.test.dot with the cfg in dotty format for
|
||||||
|
frontend tests (also sets <b>--print-types</b>) (Conversely:
|
||||||
|
<b>--no-frontend-tests</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--headers</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Analyze code in
|
||||||
|
header files (Conversely: <b>--no-headers</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--skip-translation-headers</b>
|
||||||
|
<i>+path_prefix</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Ignore headers whose path
|
||||||
|
matches the given prefix</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--Xclang</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Pass values as command-line
|
||||||
|
arguments to invocations of clang</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--xcpretty</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Infer will use
|
||||||
|
xcpretty together with xcodebuild to analyze an iOS app.
|
||||||
|
xcpretty just needs to be in the path, infer command is
|
||||||
|
still just <i>’infer -- <xcodebuild
|
||||||
|
command>’</i>. (Conversely:
|
||||||
|
<b>--no-xcpretty</b>)</p>
|
||||||
|
|
||||||
|
<h2>JAVA OPTIONS
|
||||||
|
<a name="JAVA OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--bootclasspath</b>
|
||||||
|
<i>string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the Java
|
||||||
|
bootclasspath</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--capture-blacklist</b>
|
||||||
|
<i>regex</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Skip capture of files matched
|
||||||
|
by the specified OCaml regular expression (only supported by
|
||||||
|
the javac integration for now).</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--dependencies</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Translate all the
|
||||||
|
dependencies during the capture. The classes in the given
|
||||||
|
jar file will be translated. No sources needed. (Conversely:
|
||||||
|
<b>--no-dependencies</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--generated-classes</b>
|
||||||
|
<i>path</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify where to load the
|
||||||
|
generated class files</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--java-jar-compiler</b>
|
||||||
|
<i>path</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the Java compiler jar
|
||||||
|
used to generate the bytecode</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--java-version</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">The version of Java being used.
|
||||||
|
Set it to your Java version if mvn is failing.</p>
|
||||||
|
|
||||||
|
<h2>ENVIRONMENT
|
||||||
|
<a name="ENVIRONMENT"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
|
||||||
|
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the ENVIRONMENT section in
|
||||||
|
the manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>FILES
|
||||||
|
<a name="FILES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the FILES section in the
|
||||||
|
manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>SEE ALSO
|
||||||
|
<a name="SEE ALSO"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer-analyze</b>(1),
|
||||||
|
<b>infer-compile</b>(1), <b>infer-run</b>(1)</p>
|
||||||
|
<hr>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,202 @@
|
|||||||
|
<!-- Creator : groff version 1.22.4 -->
|
||||||
|
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
|
<meta name="Content-Style" content="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
h1 { text-align: center }
|
||||||
|
</style>
|
||||||
|
<title>infer-compile</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 align="center">infer-compile</h1>
|
||||||
|
|
||||||
|
<a href="#NAME">NAME</a><br>
|
||||||
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
||||||
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
||||||
|
<a href="#OPTIONS">OPTIONS</a><br>
|
||||||
|
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
|
||||||
|
<a href="#FILES">FILES</a><br>
|
||||||
|
<a href="#EXAMPLES">EXAMPLES</a><br>
|
||||||
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>NAME
|
||||||
|
<a name="NAME"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">infer-compile -
|
||||||
|
compile project from within the infer environment</p>
|
||||||
|
|
||||||
|
<h2>SYNOPSIS
|
||||||
|
<a name="SYNOPSIS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer
|
||||||
|
compile --</b> <i>[compile command]</i></p>
|
||||||
|
|
||||||
|
<h2>DESCRIPTION
|
||||||
|
<a name="DESCRIPTION"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">Intercepts
|
||||||
|
compilation commands similarly to <b>infer-capture</b>, but
|
||||||
|
simply execute these compilation commands and do not perform
|
||||||
|
any translation of the source files. This can be useful to
|
||||||
|
configure build systems or for debugging purposes.</p>
|
||||||
|
|
||||||
|
<h2>OPTIONS
|
||||||
|
<a name="OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--debug</b>,<b>-g</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Debug mode (also
|
||||||
|
sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
|
||||||
|
<b>--print-buckets</b>, <b>--print-types</b>,
|
||||||
|
<b>--reports-include-ml-loc</b>,
|
||||||
|
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
|
||||||
|
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely:
|
||||||
|
<b>--no-debug</b> | <b>-G</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level</b>
|
||||||
|
<i>level</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level (sets
|
||||||
|
<b>--bo-debug</b> <i>level</i>,
|
||||||
|
<b>--debug-level-analysis</b> <i>level</i>,
|
||||||
|
<b>--debug-level-capture</b> <i>level</i>,
|
||||||
|
<b>--debug-level-linters</b> <i>level</i>):</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;">- 0: only basic debugging
|
||||||
|
enabled <br>
|
||||||
|
- 1: verbose debugging enabled <br>
|
||||||
|
- 2: very verbose debugging enabled <b><br>
|
||||||
|
--debug-level-analysis</b> <i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the analysis.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level-capture</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the capture.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level-linters</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the linters.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--force-delete-results-dir</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Do not refuse to
|
||||||
|
delete the results directory if it doesn't look like an
|
||||||
|
infer results directory. (Conversely:
|
||||||
|
<b>--no-force-delete-results-dir</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
|
||||||
|
| groff | pager | plain }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this help in the specified
|
||||||
|
format. <b>auto</b> sets the format to <b>plain</b> if the
|
||||||
|
environment variable <b>TERM</b> is "dumb" or
|
||||||
|
undefined, and to <b>pager</b> otherwise.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-full</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual with all
|
||||||
|
internal options in the INTERNAL OPTIONS section</p>
|
||||||
|
|
||||||
|
<h2>ENVIRONMENT
|
||||||
|
<a name="ENVIRONMENT"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
|
||||||
|
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the ENVIRONMENT section in
|
||||||
|
the manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>FILES
|
||||||
|
<a name="FILES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the FILES section in the
|
||||||
|
manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>EXAMPLES
|
||||||
|
<a name="EXAMPLES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>cmake</b>(1)
|
||||||
|
hardcodes the absolute paths to the compiler inside the
|
||||||
|
Makefiles it generates, which defeats the later capture of
|
||||||
|
compilation commands by infer. Thus, to capture a CMake
|
||||||
|
project, one should configure the project from within the
|
||||||
|
infer build environment, for instance:</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">mkdir build
|
||||||
|
&& cd build <br>
|
||||||
|
infer compile -- cmake .. <br>
|
||||||
|
infer capture -- make</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">The same
|
||||||
|
solution can be used for projects whose
|
||||||
|
"./configure" script hardcodes the paths to the
|
||||||
|
compilers, for instance:</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">infer compile
|
||||||
|
-- ./configure <br>
|
||||||
|
infer capture -- make</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">Another
|
||||||
|
solution for CMake projects is to use CMake's compilation
|
||||||
|
databases, for instance:</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">mkdir build
|
||||||
|
&& cd build <br>
|
||||||
|
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 .. <br>
|
||||||
|
infer capture --compilation-database
|
||||||
|
compile_commands.json</p>
|
||||||
|
|
||||||
|
<h2>SEE ALSO
|
||||||
|
<a name="SEE ALSO"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer-capture</b>(1)</p>
|
||||||
|
<hr>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,263 @@
|
|||||||
|
<!-- Creator : groff version 1.22.4 -->
|
||||||
|
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
|
<meta name="Content-Style" content="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
h1 { text-align: center }
|
||||||
|
</style>
|
||||||
|
<title>infer-debug</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 align="center">infer-debug</h1>
|
||||||
|
|
||||||
|
<a href="#NAME">NAME</a><br>
|
||||||
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
||||||
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
||||||
|
<a href="#OPTIONS">OPTIONS</a><br>
|
||||||
|
<a href="#DEBUG GLOBAL TYPE ENVIRONMENT">DEBUG GLOBAL TYPE ENVIRONMENT</a><br>
|
||||||
|
<a href="#DEBUG PROCEDURES">DEBUG PROCEDURES</a><br>
|
||||||
|
<a href="#DEBUG SOURCE FILES">DEBUG SOURCE FILES</a><br>
|
||||||
|
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
|
||||||
|
<a href="#FILES">FILES</a><br>
|
||||||
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>NAME
|
||||||
|
<a name="NAME"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">infer-debug -
|
||||||
|
print internal infer data structures</p>
|
||||||
|
|
||||||
|
<h2>SYNOPSIS
|
||||||
|
<a name="SYNOPSIS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer debug
|
||||||
|
--global-tenv <br>
|
||||||
|
infer debug --procedures</b> <i>[options]</i> <b><br>
|
||||||
|
infer debug --source-files</b> <i>[options]</i></p>
|
||||||
|
|
||||||
|
<h2>DESCRIPTION
|
||||||
|
<a name="DESCRIPTION"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">If
|
||||||
|
<b>--procedures</b> is passed, print information about each
|
||||||
|
procedures captured by infer.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">If
|
||||||
|
<b>--source-files</b> is passed, print information about
|
||||||
|
captured source files.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">If
|
||||||
|
<b>--global-tenv</b> is passed, print the global type
|
||||||
|
environment (if any).</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">At least one of
|
||||||
|
the above options must be passed.</p>
|
||||||
|
|
||||||
|
<h2>OPTIONS
|
||||||
|
<a name="OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--help</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
|
||||||
|
| groff | pager | plain }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this help in the specified
|
||||||
|
format. <b>auto</b> sets the format to <b>plain</b> if the
|
||||||
|
environment variable <b>TERM</b> is "dumb" or
|
||||||
|
undefined, and to <b>pager</b> otherwise.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-full</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual with all
|
||||||
|
internal options in the INTERNAL OPTIONS section</p>
|
||||||
|
|
||||||
|
<h2>DEBUG GLOBAL TYPE ENVIRONMENT
|
||||||
|
<a name="DEBUG GLOBAL TYPE ENVIRONMENT"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--global-tenv</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print the global
|
||||||
|
type environment. (Conversely: <b>--no-global-tenv</b>)</p>
|
||||||
|
|
||||||
|
<h2>DEBUG PROCEDURES
|
||||||
|
<a name="DEBUG PROCEDURES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--procedures</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print functions and
|
||||||
|
methods discovered by infer (Conversely:
|
||||||
|
<b>--no-procedures</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--procedures-attributes</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print the attributes
|
||||||
|
of each procedure in the output of <b>--procedures</b>
|
||||||
|
(Conversely: <b>--no-procedures-attributes</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--procedures-cfg</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Output a dotty file
|
||||||
|
in
|
||||||
|
infer-out/captured/<file_name>/<proc_name>.dot
|
||||||
|
for each procedure in the output of <b>--procedures</b>
|
||||||
|
(Conversely: <b>--no-procedures-cfg</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-procedures-definedness</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Include procedures
|
||||||
|
definedness in the output of <b>--procedures</b>, i.e.
|
||||||
|
whether the procedure definition was found, or only the
|
||||||
|
procedure declaration, or the procedure is an auto-generated
|
||||||
|
Objective-C accessor (Conversely:
|
||||||
|
<b>--procedures-definedness</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--procedures-filter</b>
|
||||||
|
<i>filter</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">With <b>--procedures</b>, only
|
||||||
|
print functions and methods (procedures) matching the
|
||||||
|
specified <i>filter</i>. A procedure filter is of the form
|
||||||
|
<i>path_pattern:procedure_name</i>. Patterns are interpreted
|
||||||
|
as OCaml Str regular expressions. For instance, to keep only
|
||||||
|
methods named "foo", one can use the filter
|
||||||
|
".*:foo", or "foo" for short.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--procedures-name</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Include procedures
|
||||||
|
names in the output of <b>--procedures</b> (Conversely:
|
||||||
|
<b>--no-procedures-name</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-procedures-source-file</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Include the source
|
||||||
|
file in which the procedure definition or declaration was
|
||||||
|
found in the output of <b>--procedures</b> (Conversely:
|
||||||
|
<b>--procedures-source-file</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--procedures-summary</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print the summaries
|
||||||
|
of each procedure in the output of <b>--procedures</b>
|
||||||
|
(Conversely: <b>--no-procedures-summary</b>)</p>
|
||||||
|
|
||||||
|
<h2>DEBUG SOURCE FILES
|
||||||
|
<a name="DEBUG SOURCE FILES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--source-files</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print source files
|
||||||
|
discovered by infer (Conversely:
|
||||||
|
<b>--no-source-files</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--source-files-cfg</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Output a dotty file
|
||||||
|
in infer-out/captured for each source file in the output of
|
||||||
|
<b>--source-files</b> (Conversely:
|
||||||
|
<b>--no-source-files-cfg</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--source-files-filter</b>
|
||||||
|
<i>filter</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">With <b>--source-files</b>,
|
||||||
|
only print source files matching the specified
|
||||||
|
<i>filter</i>. The filter is a pattern that should match the
|
||||||
|
file path. Patterns are interpreted as OCaml Str regular
|
||||||
|
expressions.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--source-files-freshly-captured</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print whether the
|
||||||
|
source file has been captured in the most recent capture
|
||||||
|
phase in the output of <b>--source-files</b>. (Conversely:
|
||||||
|
<b>--no-source-files-freshly-captured</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--source-files-procedure-names</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print the names of
|
||||||
|
procedure of each source file in the output of
|
||||||
|
<b>--source-files</b> (Conversely:
|
||||||
|
<b>--no-source-files-procedure-names</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--source-files-type-environment</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print the type
|
||||||
|
environment of each source file in the output of
|
||||||
|
<b>--source-files</b> (Conversely:
|
||||||
|
<b>--no-source-files-type-environment</b>)</p>
|
||||||
|
|
||||||
|
<h2>ENVIRONMENT
|
||||||
|
<a name="ENVIRONMENT"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
|
||||||
|
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the ENVIRONMENT section in
|
||||||
|
the manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>FILES
|
||||||
|
<a name="FILES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the FILES section in the
|
||||||
|
manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>SEE ALSO
|
||||||
|
<a name="SEE ALSO"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer-explore</b>(1),
|
||||||
|
<b>infer-report</b>(1)</p>
|
||||||
|
<hr>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,152 @@
|
|||||||
|
<!-- Creator : groff version 1.22.4 -->
|
||||||
|
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
|
<meta name="Content-Style" content="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
h1 { text-align: center }
|
||||||
|
</style>
|
||||||
|
<title>infer-explore</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 align="center">infer-explore</h1>
|
||||||
|
|
||||||
|
<a href="#NAME">NAME</a><br>
|
||||||
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
||||||
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
||||||
|
<a href="#OPTIONS">OPTIONS</a><br>
|
||||||
|
<a href="#EXPLORE BUGS">EXPLORE BUGS</a><br>
|
||||||
|
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
|
||||||
|
<a href="#FILES">FILES</a><br>
|
||||||
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>NAME
|
||||||
|
<a name="NAME"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">infer-explore -
|
||||||
|
explore the error traces in infer reports</p>
|
||||||
|
|
||||||
|
<h2>SYNOPSIS
|
||||||
|
<a name="SYNOPSIS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer
|
||||||
|
explore</b> <i>[options]</i></p>
|
||||||
|
|
||||||
|
<h2>DESCRIPTION
|
||||||
|
<a name="DESCRIPTION"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">Show the list
|
||||||
|
of bugs on the console and explore symbolic program traces
|
||||||
|
emitted by infer to explain a report. Can also generate an
|
||||||
|
HTML report from a JSON report.</p>
|
||||||
|
|
||||||
|
<h2>OPTIONS
|
||||||
|
<a name="OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--help</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
|
||||||
|
| groff | pager | plain }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this help in the specified
|
||||||
|
format. <b>auto</b> sets the format to <b>plain</b> if the
|
||||||
|
environment variable <b>TERM</b> is "dumb" or
|
||||||
|
undefined, and to <b>pager</b> otherwise.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-full</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual with all
|
||||||
|
internal options in the INTERNAL OPTIONS section</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--results-dir</b>,<b>-o</b>
|
||||||
|
<i>dir</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Write results and internal
|
||||||
|
files in the specified directory</p>
|
||||||
|
|
||||||
|
<h2>EXPLORE BUGS
|
||||||
|
<a name="EXPLORE BUGS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--html</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Generate html
|
||||||
|
report. (Conversely: <b>--no-html</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--max-nesting</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Level of nested procedure calls
|
||||||
|
to show. Trace elements beyond the maximum nesting level are
|
||||||
|
skipped. If omitted, all levels are shown.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--select</b> <i>N</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Select bug number <i>N</i>. If
|
||||||
|
omitted, prompt for input.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-source-preview</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: print code
|
||||||
|
excerpts around trace elements (Conversely:
|
||||||
|
<b>--source-preview</b>)</p>
|
||||||
|
|
||||||
|
<h2>ENVIRONMENT
|
||||||
|
<a name="ENVIRONMENT"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
|
||||||
|
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the ENVIRONMENT section in
|
||||||
|
the manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>FILES
|
||||||
|
<a name="FILES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the FILES section in the
|
||||||
|
manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>SEE ALSO
|
||||||
|
<a name="SEE ALSO"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer-report</b>(1),
|
||||||
|
<b>infer-run</b>(1)</p>
|
||||||
|
<hr>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,166 @@
|
|||||||
|
<!-- Creator : groff version 1.22.4 -->
|
||||||
|
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
|
<meta name="Content-Style" content="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
h1 { text-align: center }
|
||||||
|
</style>
|
||||||
|
<title>infer-help</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 align="center">infer-help</h1>
|
||||||
|
|
||||||
|
<a href="#NAME">NAME</a><br>
|
||||||
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
||||||
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
||||||
|
<a href="#OPTIONS">OPTIONS</a><br>
|
||||||
|
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
|
||||||
|
<a href="#FILES">FILES</a><br>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>NAME
|
||||||
|
<a name="NAME"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">infer-help -
|
||||||
|
Show and generate documentation.</p>
|
||||||
|
|
||||||
|
<h2>SYNOPSIS
|
||||||
|
<a name="SYNOPSIS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer help
|
||||||
|
<br>
|
||||||
|
infer help --help-checker</b> <i>checker1 ...</i>
|
||||||
|
<b>--help-checker</b> <i>checkerN</i> <b><br>
|
||||||
|
infer help --help-issue-type</b> <i>ISSUE_TYPE1 ...</i>
|
||||||
|
<b>--help-issue-type</b> <i>ISSUE_TYPEN</i> <b><br>
|
||||||
|
infer help --list-checkers <br>
|
||||||
|
infer help --list-issue-types <br>
|
||||||
|
infer help --write-website</b> <i>website_root</i></p>
|
||||||
|
|
||||||
|
<h2>DESCRIPTION
|
||||||
|
<a name="DESCRIPTION"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">Without
|
||||||
|
arguments, show the Infer manual as with <b>infer
|
||||||
|
--help</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">For each
|
||||||
|
<b>-help-checker</b> or <b>--help-issue-type</b> option
|
||||||
|
passed, display information about the given checker or issue
|
||||||
|
type.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">If
|
||||||
|
<b>--list-checkers</b> is passed, list all available
|
||||||
|
checkers.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">If
|
||||||
|
<b>--list-issue-types</b> is passed, list all issue
|
||||||
|
types.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">Use
|
||||||
|
<b>--write-website</b> to build some of the documentation
|
||||||
|
for the <i>fbinfer.com</i> website. (Used in scripts, not
|
||||||
|
meant to be used except when publishing content to
|
||||||
|
<i>fbinfer.com</i>)</p>
|
||||||
|
|
||||||
|
<h2>OPTIONS
|
||||||
|
<a name="OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--help</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-checker</b>
|
||||||
|
<i>+checker-id</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show information about a
|
||||||
|
checker, for example <i>biabduction</i>. To see the list of
|
||||||
|
all checkers, see <b>--list-checkers</b>.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
|
||||||
|
| groff | pager | plain }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this help in the specified
|
||||||
|
format. <b>auto</b> sets the format to <b>plain</b> if the
|
||||||
|
environment variable <b>TERM</b> is "dumb" or
|
||||||
|
undefined, and to <b>pager</b> otherwise.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-full</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual with all
|
||||||
|
internal options in the INTERNAL OPTIONS section</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-issue-type</b>
|
||||||
|
<i>+UNIQUE_ID</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show information about an issue
|
||||||
|
type, for example <i>NULL_DEREFERENCE</i>. To see the list
|
||||||
|
of all issue types, see <b>--list-issue-types</b>.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--list-checkers</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Show the list of all
|
||||||
|
available checkers. (Conversely:
|
||||||
|
<b>--no-list-checkers</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--list-issue-types</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Show the list of all
|
||||||
|
issue types that infer might report. (Conversely:
|
||||||
|
<b>--no-list-issue-types</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--write-website</b>
|
||||||
|
<i>path_to_website_dir</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Use to write website files
|
||||||
|
documenting issue types and checkers under
|
||||||
|
<i>path_to_website_dir/</i>. Meant to be used within the
|
||||||
|
Infer directory to generate its website at
|
||||||
|
<i>fbinfer.com</i> at <i>website/</i>.</p>
|
||||||
|
|
||||||
|
<h2>ENVIRONMENT
|
||||||
|
<a name="ENVIRONMENT"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
|
||||||
|
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the ENVIRONMENT section in
|
||||||
|
the manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>FILES
|
||||||
|
<a name="FILES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the FILES section in the
|
||||||
|
manual of <b>infer</b>(1).</p>
|
||||||
|
<hr>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,544 @@
|
|||||||
|
<!-- Creator : groff version 1.22.4 -->
|
||||||
|
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
|
<meta name="Content-Style" content="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
h1 { text-align: center }
|
||||||
|
</style>
|
||||||
|
<title>infer-report</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 align="center">infer-report</h1>
|
||||||
|
|
||||||
|
<a href="#NAME">NAME</a><br>
|
||||||
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
||||||
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
||||||
|
<a href="#OPTIONS">OPTIONS</a><br>
|
||||||
|
<a href="#HOISTING OPTIONS">HOISTING OPTIONS</a><br>
|
||||||
|
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
|
||||||
|
<a href="#FILES">FILES</a><br>
|
||||||
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>NAME
|
||||||
|
<a name="NAME"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">infer-report -
|
||||||
|
compute and manipulate infer results</p>
|
||||||
|
|
||||||
|
<h2>SYNOPSIS
|
||||||
|
<a name="SYNOPSIS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer
|
||||||
|
report</b> <i>[options]</i> [<i>file.specs</i>...]</p>
|
||||||
|
|
||||||
|
<h2>DESCRIPTION
|
||||||
|
<a name="DESCRIPTION"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">Read, convert,
|
||||||
|
and print .specs files in the results directory. Each spec
|
||||||
|
is printed to standard output unless option -q is used.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">If no specs
|
||||||
|
file are passed on the command line, process all the .specs
|
||||||
|
in the results directory.</p>
|
||||||
|
|
||||||
|
<h2>OPTIONS
|
||||||
|
<a name="OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--censor-report</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify a filter for issues to
|
||||||
|
be censored by adding a 'censored_reason' field in the json
|
||||||
|
report. Infer will not report censored issues on the console
|
||||||
|
output and in report.txt, but tools that post-process the
|
||||||
|
json report can take them into account. If multiple filters
|
||||||
|
are specified, they are applied in the order in which they
|
||||||
|
are specified. Each filter is applied to each issue
|
||||||
|
detected, and only issues which are accepted by all filters
|
||||||
|
are reported. Each filter is of the form:
|
||||||
|
’<issue_type_regex>:<filename_regex>:<reason_string>’.
|
||||||
|
The first two components are OCaml Str regular expressions,
|
||||||
|
with an optional ’!’ character prefix. If a
|
||||||
|
regex has a ’!’ prefix, the polarity is
|
||||||
|
inverted, and the filter becomes a "blacklist"
|
||||||
|
instead of a "whitelist". Each filter is
|
||||||
|
interpreted as an implication: an issue matches if it does
|
||||||
|
not match the ’issue_type_regex’ or if it does
|
||||||
|
match the ’filename_regex’. The filenames that
|
||||||
|
are tested by the regex are relative to the
|
||||||
|
’--project-root’ directory. The
|
||||||
|
’<reason_string>’ is a non-empty string
|
||||||
|
used to explain why the issue was filtered.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--cost-issues-tests</b>
|
||||||
|
<i>file</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Write a list of cost issues in
|
||||||
|
a format suitable for cost tests to <i>file</i></p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--cost-tests-only-autoreleasepool</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: [EXPERIMENTAL]
|
||||||
|
Report only autoreleasepool size results in cost tests
|
||||||
|
(Conversely:
|
||||||
|
<b>--no-cost-tests-only-autoreleasepool</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Debug mode (also
|
||||||
|
sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
|
||||||
|
<b>--print-buckets</b>, <b>--print-types</b>,
|
||||||
|
<b>--reports-include-ml-loc</b>,
|
||||||
|
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
|
||||||
|
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely:
|
||||||
|
<b>--no-debug</b> | <b>-G</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level</b>
|
||||||
|
<i>level</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level (sets
|
||||||
|
<b>--bo-debug</b> <i>level</i>,
|
||||||
|
<b>--debug-level-analysis</b> <i>level</i>,
|
||||||
|
<b>--debug-level-capture</b> <i>level</i>,
|
||||||
|
<b>--debug-level-linters</b> <i>level</i>):</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;">- 0: only basic debugging
|
||||||
|
enabled <br>
|
||||||
|
- 1: verbose debugging enabled <br>
|
||||||
|
- 2: very verbose debugging enabled <b><br>
|
||||||
|
--debug-level-analysis</b> <i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the analysis.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level-capture</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the capture.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level-linters</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the linters.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-deduplicate</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Apply
|
||||||
|
issue-specific deduplication during analysis and/or
|
||||||
|
reporting. (Conversely: <b>--deduplicate</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--differential-filter-files</b>
|
||||||
|
<i>string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the file containing the
|
||||||
|
list of source files for which a differential report is
|
||||||
|
desired. Source files should be specified relative to
|
||||||
|
project root or be absolute</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--disable-issue-type</b>
|
||||||
|
<i>+issue_type</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Do not show reports coming from
|
||||||
|
this type of issue. Each checker can report a range of issue
|
||||||
|
types. This option provides fine-grained filtering over
|
||||||
|
which types of issue should be reported once the checkers
|
||||||
|
have run. In particular, note that disabling issue types
|
||||||
|
does not make the corresponding checker not run.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;">Available issue types are as
|
||||||
|
follows: <br>
|
||||||
|
ARRAY_OUT_OF_BOUNDS_L1 (disabled by default), <br>
|
||||||
|
ARRAY_OUT_OF_BOUNDS_L2 (disabled by default), <br>
|
||||||
|
ARRAY_OUT_OF_BOUNDS_L3 (disabled by default), <br>
|
||||||
|
ASSIGN_POINTER_WARNING (enabled by default), <br>
|
||||||
|
AUTORELEASEPOOL_SIZE_COMPLEXITY_INCREASE (enabled by
|
||||||
|
default), <br>
|
||||||
|
AUTORELEASEPOOL_SIZE_COMPLEXITY_INCREASE_UI_THREAD (enabled
|
||||||
|
by <br>
|
||||||
|
default), <br>
|
||||||
|
AUTORELEASEPOOL_SIZE_UNREACHABLE_AT_EXIT (disabled by
|
||||||
|
default), <br>
|
||||||
|
Abduction_case_not_implemented (enabled by default), <br>
|
||||||
|
Array_of_pointsto (enabled by default), <br>
|
||||||
|
Assert_failure (enabled by default), <br>
|
||||||
|
BAD_POINTER_COMPARISON (enabled by default), <br>
|
||||||
|
BIABDUCTION_ANALYSIS_STOPS (disabled by default), <br>
|
||||||
|
BIABDUCTION_MEMORY_LEAK (disabled by default), <br>
|
||||||
|
BUFFER_OVERRUN_L1 (enabled by default), <br>
|
||||||
|
BUFFER_OVERRUN_L2 (enabled by default), <br>
|
||||||
|
BUFFER_OVERRUN_L3 (enabled by default), <br>
|
||||||
|
BUFFER_OVERRUN_L4 (disabled by default), <br>
|
||||||
|
BUFFER_OVERRUN_L5 (disabled by default), <br>
|
||||||
|
BUFFER_OVERRUN_S2 (enabled by default), <br>
|
||||||
|
BUFFER_OVERRUN_U5 (disabled by default), <br>
|
||||||
|
Bad_footprint (enabled by default), <br>
|
||||||
|
CAPTURED_STRONG_SELF (enabled by default), <br>
|
||||||
|
CHECKERS_ALLOCATES_MEMORY (enabled by default), <br>
|
||||||
|
CHECKERS_ANNOTATION_REACHABILITY_ERROR (enabled by default),
|
||||||
|
<br>
|
||||||
|
CHECKERS_CALLS_EXPENSIVE_METHOD (enabled by default), <br>
|
||||||
|
CHECKERS_EXPENSIVE_OVERRIDES_UNANNOTATED (enabled by
|
||||||
|
default), <br>
|
||||||
|
CHECKERS_FRAGMENT_RETAINS_VIEW (enabled by default), <br>
|
||||||
|
CHECKERS_IMMUTABLE_CAST (enabled by default), <br>
|
||||||
|
CHECKERS_PRINTF_ARGS (enabled by default), <br>
|
||||||
|
CLASS_CAST_EXCEPTION (disabled by default), <br>
|
||||||
|
COMPONENT_WITH_MULTIPLE_FACTORY_METHODS (enabled by
|
||||||
|
default), <br>
|
||||||
|
CONDITION_ALWAYS_FALSE (disabled by default), <br>
|
||||||
|
CONDITION_ALWAYS_TRUE (disabled by default), <br>
|
||||||
|
CONFIG_CHECKS_BETWEEN_MARKERS (disabled by default), <br>
|
||||||
|
CONSTANT_ADDRESS_DEREFERENCE (disabled by default), <br>
|
||||||
|
CREATE_INTENT_FROM_URI (enabled by default), <br>
|
||||||
|
CROSS_SITE_SCRIPTING (enabled by default), <br>
|
||||||
|
CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK (enabled by default),
|
||||||
|
<br>
|
||||||
|
Cannot_star (enabled by default), <br>
|
||||||
|
DANGLING_POINTER_DEREFERENCE (disabled by default), <br>
|
||||||
|
DANGLING_POINTER_DEREFERENCE_MAYBE (disabled by default),
|
||||||
|
<br>
|
||||||
|
DEADLOCK (enabled by default), <br>
|
||||||
|
DEAD_STORE (enabled by default), <br>
|
||||||
|
DIRECT_ATOMIC_PROPERTY_ACCESS (enabled by default), <br>
|
||||||
|
DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER (enabled by
|
||||||
|
default), <br>
|
||||||
|
DIVIDE_BY_ZERO (disabled by default), <br>
|
||||||
|
DO_NOT_REPORT (enabled by default), <br>
|
||||||
|
EMPTY_VECTOR_ACCESS (enabled by default), <br>
|
||||||
|
ERADICATE_BAD_NESTED_CLASS_ANNOTATION (enabled by default),
|
||||||
|
<br>
|
||||||
|
ERADICATE_CONDITION_REDUNDANT (enabled by default), <br>
|
||||||
|
ERADICATE_FIELD_NOT_INITIALIZED (enabled by default), <br>
|
||||||
|
ERADICATE_FIELD_NOT_NULLABLE (enabled by default), <br>
|
||||||
|
ERADICATE_FIELD_OVER_ANNOTATED (enabled by default), <br>
|
||||||
|
ERADICATE_INCONSISTENT_SUBCLASS_PARAMETER_ANNOTATION
|
||||||
|
(enabled <br>
|
||||||
|
by default), <br>
|
||||||
|
ERADICATE_INCONSISTENT_SUBCLASS_RETURN_ANNOTATION (enabled
|
||||||
|
by <br>
|
||||||
|
default), <br>
|
||||||
|
ERADICATE_META_CLASS_CAN_BE_NULLSAFE (disabled by default),
|
||||||
|
<br>
|
||||||
|
ERADICATE_META_CLASS_IS_NULLSAFE (disabled by default), <br>
|
||||||
|
ERADICATE_META_CLASS_NEEDS_IMPROVEMENT (disabled by
|
||||||
|
default), <br>
|
||||||
|
ERADICATE_NULLABLE_DEREFERENCE (enabled by default), <br>
|
||||||
|
ERADICATE_PARAMETER_NOT_NULLABLE (enabled by default), <br>
|
||||||
|
ERADICATE_REDUNDANT_NESTED_CLASS_ANNOTATION (enabled by <br>
|
||||||
|
default), <br>
|
||||||
|
ERADICATE_RETURN_NOT_NULLABLE (enabled by default), <br>
|
||||||
|
ERADICATE_RETURN_OVER_ANNOTATED (enabled by default), <br>
|
||||||
|
ERADICATE_UNCHECKED_USAGE_IN_NULLSAFE (enabled by default),
|
||||||
|
<br>
|
||||||
|
ERADICATE_UNVETTED_THIRD_PARTY_IN_NULLSAFE (enabled by <br>
|
||||||
|
default), <br>
|
||||||
|
EXECUTION_TIME_COMPLEXITY_INCREASE (enabled by default),
|
||||||
|
<br>
|
||||||
|
EXECUTION_TIME_COMPLEXITY_INCREASE_UI_THREAD (enabled by
|
||||||
|
<br>
|
||||||
|
default), <br>
|
||||||
|
EXECUTION_TIME_UNREACHABLE_AT_EXIT (disabled by default),
|
||||||
|
<br>
|
||||||
|
EXPENSIVE_LOOP_INVARIANT_CALL (enabled by default), <br>
|
||||||
|
EXPOSED_INSECURE_INTENT_HANDLING (enabled by default), <br>
|
||||||
|
Failure_exe (enabled by default), <br>
|
||||||
|
GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL
|
||||||
|
<br>
|
||||||
|
(disabled by default), <br>
|
||||||
|
GUARDEDBY_VIOLATION (enabled by default), <br>
|
||||||
|
IMPURE_FUNCTION (enabled by default), <br>
|
||||||
|
INEFFICIENT_KEYSET_ITERATOR (enabled by default), <br>
|
||||||
|
INFERBO_ALLOC_IS_BIG (enabled by default), <br>
|
||||||
|
INFERBO_ALLOC_IS_NEGATIVE (enabled by default), <br>
|
||||||
|
INFERBO_ALLOC_IS_ZERO (enabled by default), <br>
|
||||||
|
INFERBO_ALLOC_MAY_BE_BIG (enabled by default), <br>
|
||||||
|
INFERBO_ALLOC_MAY_BE_NEGATIVE (enabled by default), <br>
|
||||||
|
INFINITE_AUTORELEASEPOOL_SIZE (disabled by default), <br>
|
||||||
|
INFINITE_EXECUTION_TIME (disabled by default), <br>
|
||||||
|
INHERENTLY_DANGEROUS_FUNCTION (enabled by default), <br>
|
||||||
|
INSECURE_INTENT_HANDLING (enabled by default), <br>
|
||||||
|
INTEGER_OVERFLOW_L1 (enabled by default), <br>
|
||||||
|
INTEGER_OVERFLOW_L2 (enabled by default), <br>
|
||||||
|
INTEGER_OVERFLOW_L5 (disabled by default), <br>
|
||||||
|
INTEGER_OVERFLOW_U5 (disabled by default), <br>
|
||||||
|
INTERFACE_NOT_THREAD_SAFE (enabled by default), <br>
|
||||||
|
INVARIANT_CALL (disabled by default), <br>
|
||||||
|
IVAR_NOT_NULL_CHECKED (enabled by default), <br>
|
||||||
|
Internal_error (enabled by default), <br>
|
||||||
|
JAVASCRIPT_INJECTION (enabled by default), <br>
|
||||||
|
LAB_RESOURCE_LEAK (enabled by default), <br>
|
||||||
|
LOCKLESS_VIOLATION (enabled by default), <br>
|
||||||
|
LOCK_CONSISTENCY_VIOLATION (enabled by default), <br>
|
||||||
|
LOGGING_PRIVATE_DATA (enabled by default), <br>
|
||||||
|
Leak_after_array_abstraction (enabled by default), <br>
|
||||||
|
Leak_in_footprint (enabled by default), <br>
|
||||||
|
Leak_unknown_origin (disabled by default), <br>
|
||||||
|
MEMORY_LEAK (enabled by default), <br>
|
||||||
|
MISSING_REQUIRED_PROP (enabled by default), <br>
|
||||||
|
MIXED_SELF_WEAKSELF (enabled by default), <br>
|
||||||
|
MULTIPLE_WEAKSELF (enabled by default), <br>
|
||||||
|
MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE (enabled by
|
||||||
|
default), <br>
|
||||||
|
Missing_fld (enabled by default), <br>
|
||||||
|
NULLPTR_DEREFERENCE (disabled by default), <br>
|
||||||
|
NULL_DEREFERENCE (enabled by default), <br>
|
||||||
|
OPTIONAL_EMPTY_ACCESS (disabled by default), <br>
|
||||||
|
PARAMETER_NOT_NULL_CHECKED (enabled by default), <br>
|
||||||
|
POINTER_TO_CONST_OBJC_CLASS (enabled by default), <br>
|
||||||
|
PRECONDITION_NOT_FOUND (enabled by default), <br>
|
||||||
|
PRECONDITION_NOT_MET (enabled by default), <br>
|
||||||
|
PREMATURE_NIL_TERMINATION_ARGUMENT (enabled by default),
|
||||||
|
<br>
|
||||||
|
PURE_FUNCTION (enabled by default), <br>
|
||||||
|
QUANDARY_TAINT_ERROR (enabled by default), <br>
|
||||||
|
RESOURCE_LEAK (enabled by default), <br>
|
||||||
|
RETAIN_CYCLE (enabled by default), <br>
|
||||||
|
SHELL_INJECTION (enabled by default), <br>
|
||||||
|
SHELL_INJECTION_RISK (enabled by default), <br>
|
||||||
|
SKIP_FUNCTION (disabled by default), <br>
|
||||||
|
SQL_INJECTION (enabled by default), <br>
|
||||||
|
SQL_INJECTION_RISK (enabled by default), <br>
|
||||||
|
STACK_VARIABLE_ADDRESS_ESCAPE (enabled by default), <br>
|
||||||
|
STARVATION (enabled by default), <br>
|
||||||
|
STATIC_INITIALIZATION_ORDER_FIASCO (enabled by default),
|
||||||
|
<br>
|
||||||
|
STRICT_MODE_VIOLATION (enabled by default), <br>
|
||||||
|
STRONG_DELEGATE_WARNING (enabled by default), <br>
|
||||||
|
STRONG_SELF_NOT_CHECKED (enabled by default), <br>
|
||||||
|
Symexec_memory_error (enabled by default), <br>
|
||||||
|
THREAD_SAFETY_VIOLATION (enabled by default), <br>
|
||||||
|
TOPL_BIABD_ERROR (enabled by default), <br>
|
||||||
|
TOPL_PULSE_ERROR (enabled by default), <br>
|
||||||
|
UNINITIALIZED_VALUE (enabled by default), <br>
|
||||||
|
UNREACHABLE_CODE (enabled by default), <br>
|
||||||
|
UNTRUSTED_BUFFER_ACCESS (disabled by default), <br>
|
||||||
|
UNTRUSTED_DESERIALIZATION (enabled by default), <br>
|
||||||
|
UNTRUSTED_DESERIALIZATION_RISK (enabled by default), <br>
|
||||||
|
UNTRUSTED_ENVIRONMENT_CHANGE_RISK (enabled by default), <br>
|
||||||
|
UNTRUSTED_FILE (enabled by default), <br>
|
||||||
|
UNTRUSTED_FILE_RISK (enabled by default), <br>
|
||||||
|
UNTRUSTED_HEAP_ALLOCATION (disabled by default), <br>
|
||||||
|
UNTRUSTED_INTENT_CREATION (enabled by default), <br>
|
||||||
|
UNTRUSTED_URL_RISK (enabled by default), <br>
|
||||||
|
UNTRUSTED_VARIABLE_LENGTH_ARRAY (enabled by default), <br>
|
||||||
|
USER_CONTROLLED_SQL_RISK (enabled by default), <br>
|
||||||
|
USE_AFTER_DELETE (enabled by default), <br>
|
||||||
|
USE_AFTER_FREE (enabled by default), <br>
|
||||||
|
USE_AFTER_LIFETIME (enabled by default), <br>
|
||||||
|
VECTOR_INVALIDATION (enabled by default), <br>
|
||||||
|
WEAK_SELF_IN_NO_ESCAPE_BLOCK (enabled by default), <br>
|
||||||
|
Wrong_argument_number (enabled by default). <b><br>
|
||||||
|
--enable-issue-type</b> <i>+issue_type</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show reports coming from this
|
||||||
|
type of issue. By default, all issue types are enabled
|
||||||
|
except the ones listed in <b>--disable-issue-type</b>. Note
|
||||||
|
that enabling issue types does not make the corresponding
|
||||||
|
checker run; see individual checker options to turn them on
|
||||||
|
or off.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-filtering</b>,<b>-F</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Do not show the
|
||||||
|
experimental and blacklisted issue types (Conversely:
|
||||||
|
<b>--filtering</b> | <b>-f</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--from-json-costs-report</b>
|
||||||
|
<i>costs-report.json</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Load costs analysis results
|
||||||
|
from a costs-report file.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--from-json-report</b>
|
||||||
|
<i>report.json</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Load analysis results from a
|
||||||
|
report file (default is to load the results from the specs
|
||||||
|
files generated by the analysis).</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
|
||||||
|
| groff | pager | plain }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this help in the specified
|
||||||
|
format. <b>auto</b> sets the format to <b>plain</b> if the
|
||||||
|
environment variable <b>TERM</b> is "dumb" or
|
||||||
|
undefined, and to <b>pager</b> otherwise.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-full</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual with all
|
||||||
|
internal options in the INTERNAL OPTIONS section</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--issues-tests</b>
|
||||||
|
<i>file</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Write a list of issues in a
|
||||||
|
format suitable for tests to <i>file</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--issues-tests-fields</b>
|
||||||
|
<i>,-separated sequence of { bug_type | bucket | <br>
|
||||||
|
qualifier | severity | line | column | procedure |
|
||||||
|
procedure_start_line <br>
|
||||||
|
| file | bug_trace | key | hash | line_offset | <br>
|
||||||
|
qualifier_contains_potential_exception_note | nullsafe_extra
|
||||||
|
}</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Fields to emit with
|
||||||
|
<b>--issues-tests</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--print-logs</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Also log messages to
|
||||||
|
stdout and stderr (Conversely: <b>--no-print-logs</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--project-root</b>,<b>-C</b>
|
||||||
|
<i>dir</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the root directory of
|
||||||
|
the project</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--quiet</b>,<b>-q</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Do not print
|
||||||
|
anything on standard output. (Conversely: <b>--no-quiet</b>
|
||||||
|
| <b>-Q</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-blacklist-files-containing</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Do not report any issues on
|
||||||
|
files containing the specified string</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-blacklist-path-regex</b>
|
||||||
|
<i>+path_regex</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Do not report any issues on
|
||||||
|
files whose relative path matches the specified OCaml regex,
|
||||||
|
even if they match the whitelist specified by
|
||||||
|
<b>--report-whitelist-path-regex</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-console-limit</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Maximum number of issues to
|
||||||
|
display on standard output. Unset with
|
||||||
|
<b>--report-console-limit-reset</b> to show all.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-formatter</b> <i>{
|
||||||
|
none | phabricator }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Which formatter to use when
|
||||||
|
emitting the report</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-suppress-errors</b>
|
||||||
|
<i>+error_name</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">do not report a type of
|
||||||
|
errors</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-whitelist-path-regex</b>
|
||||||
|
<i>+path_regex</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Report issues only on files
|
||||||
|
whose relative path matches the specified OCaml regex (and
|
||||||
|
which do not match <b>--report-blacklist-path-regex</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--results-dir</b>,<b>-o</b>
|
||||||
|
<i>dir</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Write results and internal
|
||||||
|
files in the specified directory</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--skip-analysis-in-path-skips-compilation</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Whether paths in
|
||||||
|
--skip-analysis-in-path should be compiled or not
|
||||||
|
(Conversely:
|
||||||
|
<b>--no-skip-analysis-in-path-skips-compilation</b>)</p>
|
||||||
|
|
||||||
|
<h2>HOISTING OPTIONS
|
||||||
|
<a name="HOISTING OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--no-hoisting-report-only-expensive</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: [Hoisting] Report
|
||||||
|
loop-invariant calls only when the function is expensive,
|
||||||
|
i.e. at least linear (Conversely:
|
||||||
|
<b>--hoisting-report-only-expensive</b>)</p>
|
||||||
|
|
||||||
|
<h2>ENVIRONMENT
|
||||||
|
<a name="ENVIRONMENT"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
|
||||||
|
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the ENVIRONMENT section in
|
||||||
|
the manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>FILES
|
||||||
|
<a name="FILES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the FILES section in the
|
||||||
|
manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>SEE ALSO
|
||||||
|
<a name="SEE ALSO"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer-reportdiff</b>(1),
|
||||||
|
<b>infer-run</b>(1)</p>
|
||||||
|
<hr>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,218 @@
|
|||||||
|
<!-- Creator : groff version 1.22.4 -->
|
||||||
|
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
|
<meta name="Content-Style" content="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
h1 { text-align: center }
|
||||||
|
</style>
|
||||||
|
<title>infer-reportdiff</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 align="center">infer-reportdiff</h1>
|
||||||
|
|
||||||
|
<a href="#NAME">NAME</a><br>
|
||||||
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
||||||
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
||||||
|
<a href="#OPTIONS">OPTIONS</a><br>
|
||||||
|
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
|
||||||
|
<a href="#FILES">FILES</a><br>
|
||||||
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>NAME
|
||||||
|
<a name="NAME"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">infer-reportdiff
|
||||||
|
- compute the differences between two infer reports</p>
|
||||||
|
|
||||||
|
<h2>SYNOPSIS
|
||||||
|
<a name="SYNOPSIS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer
|
||||||
|
reportdiff --report-current</b> <i>file</i>
|
||||||
|
<b>--report-previous</b> <i>file [options]</i></p>
|
||||||
|
|
||||||
|
<h2>DESCRIPTION
|
||||||
|
<a name="DESCRIPTION"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">Given two infer
|
||||||
|
reports <i>previous</i> and <i>current</i>, compute the
|
||||||
|
following three reports and store them inside the
|
||||||
|
"differential/" subdirectory of the results
|
||||||
|
directory: <br>
|
||||||
|
- <b>introduced.json</b> contains the issues found in
|
||||||
|
<i>current</i> but not <i>previous</i>; <br>
|
||||||
|
- <b>fixed.json</b> contains the issues found in
|
||||||
|
<i>previous</i> but not <i>current</i>; <br>
|
||||||
|
- <b>preexisting.json</b> contains the issues found in both
|
||||||
|
<i>previous</i> and <i>current</i>.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">All three files
|
||||||
|
follow the same format as normal infer reports.</p>
|
||||||
|
|
||||||
|
<h2>OPTIONS
|
||||||
|
<a name="OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--cost-tests-only-autoreleasepool</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: [EXPERIMENTAL]
|
||||||
|
Report only autoreleasepool size results in cost tests
|
||||||
|
(Conversely:
|
||||||
|
<b>--no-cost-tests-only-autoreleasepool</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--costs-current</b>
|
||||||
|
<i>path</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Costs report of the latest
|
||||||
|
revision</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--costs-previous</b>
|
||||||
|
<i>path</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Costs report of the base
|
||||||
|
revision to use for comparison</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Debug mode (also
|
||||||
|
sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
|
||||||
|
<b>--print-buckets</b>, <b>--print-types</b>,
|
||||||
|
<b>--reports-include-ml-loc</b>,
|
||||||
|
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
|
||||||
|
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely:
|
||||||
|
<b>--no-debug</b> | <b>-G</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level</b>
|
||||||
|
<i>level</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level (sets
|
||||||
|
<b>--bo-debug</b> <i>level</i>,
|
||||||
|
<b>--debug-level-analysis</b> <i>level</i>,
|
||||||
|
<b>--debug-level-capture</b> <i>level</i>,
|
||||||
|
<b>--debug-level-linters</b> <i>level</i>):</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;">- 0: only basic debugging
|
||||||
|
enabled <br>
|
||||||
|
- 1: verbose debugging enabled <br>
|
||||||
|
- 2: very verbose debugging enabled <b><br>
|
||||||
|
--debug-level-analysis</b> <i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the analysis.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level-capture</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the capture.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level-linters</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the linters.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-deduplicate</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Apply
|
||||||
|
issue-specific deduplication during analysis and/or
|
||||||
|
reporting. (Conversely: <b>--deduplicate</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--file-renamings</b>
|
||||||
|
<i>path</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">JSON with a list of file
|
||||||
|
renamings to use while computing differential reports</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
|
||||||
|
| groff | pager | plain }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this help in the specified
|
||||||
|
format. <b>auto</b> sets the format to <b>plain</b> if the
|
||||||
|
environment variable <b>TERM</b> is "dumb" or
|
||||||
|
undefined, and to <b>pager</b> otherwise.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-full</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual with all
|
||||||
|
internal options in the INTERNAL OPTIONS section</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-current</b>
|
||||||
|
<i>path</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">report of the latest
|
||||||
|
revision</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-previous</b>
|
||||||
|
<i>path</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Report of the base revision to
|
||||||
|
use for comparison</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-skip-duplicated-types</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Skip
|
||||||
|
fixed-then-introduced duplicated types while computing
|
||||||
|
differential reports (Conversely:
|
||||||
|
<b>--skip-duplicated-types</b>)</p>
|
||||||
|
|
||||||
|
<h2>ENVIRONMENT
|
||||||
|
<a name="ENVIRONMENT"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
|
||||||
|
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the ENVIRONMENT section in
|
||||||
|
the manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>FILES
|
||||||
|
<a name="FILES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the FILES section in the
|
||||||
|
manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>SEE ALSO
|
||||||
|
<a name="SEE ALSO"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer-report</b>(1)</p>
|
||||||
|
<hr>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,374 @@
|
|||||||
|
<!-- Creator : groff version 1.22.4 -->
|
||||||
|
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
|
<meta name="Content-Style" content="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
h1 { text-align: center }
|
||||||
|
</style>
|
||||||
|
<title>infer-run</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 align="center">infer-run</h1>
|
||||||
|
|
||||||
|
<a href="#NAME">NAME</a><br>
|
||||||
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
||||||
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
||||||
|
<a href="#OPTIONS">OPTIONS</a><br>
|
||||||
|
<a href="#BUCK OPTIONS">BUCK OPTIONS</a><br>
|
||||||
|
<a href="#JAVA OPTIONS">JAVA OPTIONS</a><br>
|
||||||
|
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
|
||||||
|
<a href="#FILES">FILES</a><br>
|
||||||
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>NAME
|
||||||
|
<a name="NAME"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">infer-run -
|
||||||
|
capture source files, analyze, and report</p>
|
||||||
|
|
||||||
|
<h2>SYNOPSIS
|
||||||
|
<a name="SYNOPSIS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer
|
||||||
|
run</b> <i>[options]</i> <b><br>
|
||||||
|
infer</b> <i>[options]</i> <b>--</b> <i>compile
|
||||||
|
command</i></p>
|
||||||
|
|
||||||
|
<h2>DESCRIPTION
|
||||||
|
<a name="DESCRIPTION"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">Calling
|
||||||
|
"<b>infer run</b> <i>[options]</i>" is equivalent
|
||||||
|
to performing the following sequence of commands:</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer
|
||||||
|
capture</b> <i>[options]</i> <b><br>
|
||||||
|
infer analyze</b> <i>[options]</i></p>
|
||||||
|
|
||||||
|
<h2>OPTIONS
|
||||||
|
<a name="OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><i><b>--censor-report</b>
|
||||||
|
+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify a filter for issues to
|
||||||
|
be censored by adding a 'censored_reason' field in the json
|
||||||
|
report. Infer will not report censored issues on the console
|
||||||
|
output and in report.txt, but tools that post-process the
|
||||||
|
json report can take them into account. If multiple filters
|
||||||
|
are specified, they are applied in the order in which they
|
||||||
|
are specified. Each filter is applied to each issue
|
||||||
|
detected, and only issues which are accepted by all filters
|
||||||
|
are reported. Each filter is of the form:
|
||||||
|
’<issue_type_regex>:<filename_regex>:<reason_string>’.
|
||||||
|
The first two components are OCaml Str regular expressions,
|
||||||
|
with an optional ’!’ character prefix. If a
|
||||||
|
regex has a ’!’ prefix, the polarity is
|
||||||
|
inverted, and the filter becomes a "blacklist"
|
||||||
|
instead of a "whitelist". Each filter is
|
||||||
|
interpreted as an implication: an issue matches if it does
|
||||||
|
not match the ’issue_type_regex’ or if it does
|
||||||
|
match the ’filename_regex’. The filenames that
|
||||||
|
are tested by the regex are relative to the
|
||||||
|
’--project-root’ directory. The
|
||||||
|
’<reason_string>’ is a non-empty string
|
||||||
|
used to explain why the issue was filtered.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug</b>,<b>-g</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Debug mode (also
|
||||||
|
sets <b>--debug-level 2</b>, <b>--developer-mode</b>,
|
||||||
|
<b>--print-buckets</b>, <b>--print-types</b>,
|
||||||
|
<b>--reports-include-ml-loc</b>,
|
||||||
|
<b>--no-only-cheap-debug</b>, <b>--trace-error</b>,
|
||||||
|
<b>--write-dotty</b>, <b>--write-html</b>) (Conversely:
|
||||||
|
<b>--no-debug</b> | <b>-G</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level</b>
|
||||||
|
<i>level</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level (sets
|
||||||
|
<b>--bo-debug</b> <i>level</i>,
|
||||||
|
<b>--debug-level-analysis</b> <i>level</i>,
|
||||||
|
<b>--debug-level-capture</b> <i>level</i>,
|
||||||
|
<b>--debug-level-linters</b> <i>level</i>):</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;">- 0: only basic debugging
|
||||||
|
enabled <br>
|
||||||
|
- 1: verbose debugging enabled <br>
|
||||||
|
- 2: very verbose debugging enabled <b><br>
|
||||||
|
--debug-level-analysis</b> <i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the analysis.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level-capture</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the capture.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--debug-level-linters</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Debug level for the linters.
|
||||||
|
See <b>--debug-level</b> for accepted values.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--fail-on-issue</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Exit with error code
|
||||||
|
2 if Infer found something to report (Conversely:
|
||||||
|
<b>--no-fail-on-issue</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--force-delete-results-dir</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Do not refuse to
|
||||||
|
delete the results directory if it doesn't look like an
|
||||||
|
infer results directory. (Conversely:
|
||||||
|
<b>--no-force-delete-results-dir</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--force-integration</b>
|
||||||
|
<i>command</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Proceed as if the first
|
||||||
|
argument after <b>--</b> was <i>command</i>. Possible
|
||||||
|
values: <i>ant</i>, <i>buck</i>, <i>gradle</i>,
|
||||||
|
<i>gradlew</i>, <i>java</i>, <i>javac</i>, <i>cc</i>,
|
||||||
|
<i>clang</i>, <i>gcc</i>, <i>clang++</i>, <i>c++</i>,
|
||||||
|
<i>g++</i>, <i>make</i>, <i>configure</i>, <i>cmake</i>,
|
||||||
|
<i>waf</i>, <i>mvn</i>, <i>mvnw</i>, <i>ndk-build</i>,
|
||||||
|
<i>xcodebuild</i>.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
|
||||||
|
| groff | pager | plain }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this help in the specified
|
||||||
|
format. <b>auto</b> sets the format to <b>plain</b> if the
|
||||||
|
environment variable <b>TERM</b> is "dumb" or
|
||||||
|
undefined, and to <b>pager</b> otherwise.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-full</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual with all
|
||||||
|
internal options in the INTERNAL OPTIONS section</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--pmd-xml</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Output issues in
|
||||||
|
(PMD) XML format in infer-out/report.xml (Conversely:
|
||||||
|
<b>--no-pmd-xml</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--print-logs</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Also log messages to
|
||||||
|
stdout and stderr (Conversely: <b>--no-print-logs</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-progress-bar</b>,<b>-P</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Show a progress
|
||||||
|
bar (Conversely: <b>--progress-bar</b> | <b>-p</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--project-root</b>,<b>-C</b>
|
||||||
|
<i>dir</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Specify the root directory of
|
||||||
|
the project</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-report</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Run the reporting
|
||||||
|
phase once the analysis has completed (Conversely:
|
||||||
|
<b>--report</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-blacklist-files-containing</b>
|
||||||
|
<i>+string</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Do not report any issues on
|
||||||
|
files containing the specified string</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-blacklist-path-regex</b>
|
||||||
|
<i>+path_regex</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Do not report any issues on
|
||||||
|
files whose relative path matches the specified OCaml regex,
|
||||||
|
even if they match the whitelist specified by
|
||||||
|
<b>--report-whitelist-path-regex</b></p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-force-relative-path</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Force converting an
|
||||||
|
absolute path to a relative path to the root directory
|
||||||
|
(Conversely: <b>--no-report-force-relative-path</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-suppress-errors</b>
|
||||||
|
<i>+error_name</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">do not report a type of
|
||||||
|
errors</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--report-whitelist-path-regex</b>
|
||||||
|
<i>+path_regex</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Report issues only on files
|
||||||
|
whose relative path matches the specified OCaml regex (and
|
||||||
|
which do not match <b>--report-blacklist-path-regex</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--results-dir</b>,<b>-o</b>
|
||||||
|
<i>dir</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Write results and internal
|
||||||
|
files in the specified directory</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--skip-analysis-in-path</b>
|
||||||
|
<i>+path_prefix_OCaml_regex</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Ignore files whose path matches
|
||||||
|
the given prefix (can be specified multiple times)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--sqlite-cache-size</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">SQLite cache size in pages (if
|
||||||
|
positive) or kB (if negative), follows formal of
|
||||||
|
corresponding SQLite PRAGMA.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--sqlite-lock-timeout</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Timeout for SQLite results
|
||||||
|
database operations, in milliseconds.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--sqlite-page-size</b>
|
||||||
|
<i>int</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">SQLite page size in bytes, must
|
||||||
|
be a power of two between 512 and 65536.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--version</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Print version information and
|
||||||
|
exit</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--version-json</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Print version information in
|
||||||
|
json format and exit</p>
|
||||||
|
|
||||||
|
<table width="100%" border="0" rules="none" frame="void"
|
||||||
|
cellspacing="0" cellpadding="0">
|
||||||
|
<tr valign="top" align="left">
|
||||||
|
<td width="11%"></td>
|
||||||
|
<td width="3%">
|
||||||
|
|
||||||
|
|
||||||
|
<p><b>--</b></p></td>
|
||||||
|
<td width="3%"></td>
|
||||||
|
<td width="83%">
|
||||||
|
|
||||||
|
|
||||||
|
<p>Stop argument processing, use remaining arguments as a
|
||||||
|
build command</p></td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h2>BUCK OPTIONS
|
||||||
|
<a name="BUCK OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--buck-blacklist</b>
|
||||||
|
<i>+regex</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Skip capture of files matched
|
||||||
|
by the specified regular expression. Only the clang,
|
||||||
|
non-compilation-database</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;">Buck integration is supported,
|
||||||
|
not Java. <b><br>
|
||||||
|
--buck-targets-blacklist</b> <i>+regex</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Skip capture of buck targets
|
||||||
|
matched by the specified regular expression. Only valid for
|
||||||
|
<b>--buck-compilation-database</b>.</p>
|
||||||
|
|
||||||
|
<h2>JAVA OPTIONS
|
||||||
|
<a name="JAVA OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--capture-blacklist</b>
|
||||||
|
<i>regex</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Skip capture of files matched
|
||||||
|
by the specified OCaml regular expression (only supported by
|
||||||
|
the javac integration for now).</p>
|
||||||
|
|
||||||
|
<h2>ENVIRONMENT
|
||||||
|
<a name="ENVIRONMENT"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
|
||||||
|
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the ENVIRONMENT section in
|
||||||
|
the manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>FILES
|
||||||
|
<a name="FILES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the FILES section in the
|
||||||
|
manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>SEE ALSO
|
||||||
|
<a name="SEE ALSO"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer-analyze</b>(1),
|
||||||
|
<b>infer-capture</b>(1), <b>infer-report</b>(1)</p>
|
||||||
|
<hr>
|
||||||
|
</body>
|
||||||
|
</html>
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,263 @@
|
|||||||
|
<!-- Creator : groff version 1.22.4 -->
|
||||||
|
<!-- CreationDate: Fri Oct 9 12:52:31 2020 -->
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="generator" content="groff -Thtml, see www.gnu.org">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
|
||||||
|
<meta name="Content-Style" content="text/css">
|
||||||
|
<style type="text/css">
|
||||||
|
p { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
pre { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
table { margin-top: 0; margin-bottom: 0; vertical-align: top }
|
||||||
|
h1 { text-align: center }
|
||||||
|
</style>
|
||||||
|
<title>infer-debug</title>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1 align="center">infer-debug</h1>
|
||||||
|
|
||||||
|
<a href="#NAME">NAME</a><br>
|
||||||
|
<a href="#SYNOPSIS">SYNOPSIS</a><br>
|
||||||
|
<a href="#DESCRIPTION">DESCRIPTION</a><br>
|
||||||
|
<a href="#OPTIONS">OPTIONS</a><br>
|
||||||
|
<a href="#DEBUG GLOBAL TYPE ENVIRONMENT">DEBUG GLOBAL TYPE ENVIRONMENT</a><br>
|
||||||
|
<a href="#DEBUG PROCEDURES">DEBUG PROCEDURES</a><br>
|
||||||
|
<a href="#DEBUG SOURCE FILES">DEBUG SOURCE FILES</a><br>
|
||||||
|
<a href="#ENVIRONMENT">ENVIRONMENT</a><br>
|
||||||
|
<a href="#FILES">FILES</a><br>
|
||||||
|
<a href="#SEE ALSO">SEE ALSO</a><br>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>NAME
|
||||||
|
<a name="NAME"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">infer-debug -
|
||||||
|
print internal infer data structures</p>
|
||||||
|
|
||||||
|
<h2>SYNOPSIS
|
||||||
|
<a name="SYNOPSIS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer debug
|
||||||
|
--global-tenv <br>
|
||||||
|
infer debug --procedures</b> <i>[options]</i> <b><br>
|
||||||
|
infer debug --source-files</b> <i>[options]</i></p>
|
||||||
|
|
||||||
|
<h2>DESCRIPTION
|
||||||
|
<a name="DESCRIPTION"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">If
|
||||||
|
<b>--procedures</b> is passed, print information about each
|
||||||
|
procedures captured by infer.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">If
|
||||||
|
<b>--source-files</b> is passed, print information about
|
||||||
|
captured source files.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">If
|
||||||
|
<b>--global-tenv</b> is passed, print the global type
|
||||||
|
environment (if any).</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em">At least one of
|
||||||
|
the above options must be passed.</p>
|
||||||
|
|
||||||
|
<h2>OPTIONS
|
||||||
|
<a name="OPTIONS"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--help</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-format</b> <i>{ auto
|
||||||
|
| groff | pager | plain }</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this help in the specified
|
||||||
|
format. <b>auto</b> sets the format to <b>plain</b> if the
|
||||||
|
environment variable <b>TERM</b> is "dumb" or
|
||||||
|
undefined, and to <b>pager</b> otherwise.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--help-full</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Show this manual with all
|
||||||
|
internal options in the INTERNAL OPTIONS section</p>
|
||||||
|
|
||||||
|
<h2>DEBUG GLOBAL TYPE ENVIRONMENT
|
||||||
|
<a name="DEBUG GLOBAL TYPE ENVIRONMENT"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--global-tenv</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print the global
|
||||||
|
type environment. (Conversely: <b>--no-global-tenv</b>)</p>
|
||||||
|
|
||||||
|
<h2>DEBUG PROCEDURES
|
||||||
|
<a name="DEBUG PROCEDURES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--procedures</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print functions and
|
||||||
|
methods discovered by infer (Conversely:
|
||||||
|
<b>--no-procedures</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--procedures-attributes</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print the attributes
|
||||||
|
of each procedure in the output of <b>--procedures</b>
|
||||||
|
(Conversely: <b>--no-procedures-attributes</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--procedures-cfg</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Output a dotty file
|
||||||
|
in
|
||||||
|
infer-out/captured/<file_name>/<proc_name>.dot
|
||||||
|
for each procedure in the output of <b>--procedures</b>
|
||||||
|
(Conversely: <b>--no-procedures-cfg</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-procedures-definedness</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Include procedures
|
||||||
|
definedness in the output of <b>--procedures</b>, i.e.
|
||||||
|
whether the procedure definition was found, or only the
|
||||||
|
procedure declaration, or the procedure is an auto-generated
|
||||||
|
Objective-C accessor (Conversely:
|
||||||
|
<b>--procedures-definedness</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--procedures-filter</b>
|
||||||
|
<i>filter</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">With <b>--procedures</b>, only
|
||||||
|
print functions and methods (procedures) matching the
|
||||||
|
specified <i>filter</i>. A procedure filter is of the form
|
||||||
|
<i>path_pattern:procedure_name</i>. Patterns are interpreted
|
||||||
|
as OCaml Str regular expressions. For instance, to keep only
|
||||||
|
methods named "foo", one can use the filter
|
||||||
|
".*:foo", or "foo" for short.</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--procedures-name</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Include procedures
|
||||||
|
names in the output of <b>--procedures</b> (Conversely:
|
||||||
|
<b>--no-procedures-name</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--no-procedures-source-file</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Deactivates: Include the source
|
||||||
|
file in which the procedure definition or declaration was
|
||||||
|
found in the output of <b>--procedures</b> (Conversely:
|
||||||
|
<b>--procedures-source-file</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--procedures-summary</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print the summaries
|
||||||
|
of each procedure in the output of <b>--procedures</b>
|
||||||
|
(Conversely: <b>--no-procedures-summary</b>)</p>
|
||||||
|
|
||||||
|
<h2>DEBUG SOURCE FILES
|
||||||
|
<a name="DEBUG SOURCE FILES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>--source-files</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print source files
|
||||||
|
discovered by infer (Conversely:
|
||||||
|
<b>--no-source-files</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--source-files-cfg</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Output a dotty file
|
||||||
|
in infer-out/captured for each source file in the output of
|
||||||
|
<b>--source-files</b> (Conversely:
|
||||||
|
<b>--no-source-files-cfg</b>)</p>
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--source-files-filter</b>
|
||||||
|
<i>filter</i></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">With <b>--source-files</b>,
|
||||||
|
only print source files matching the specified
|
||||||
|
<i>filter</i>. The filter is a pattern that should match the
|
||||||
|
file path. Patterns are interpreted as OCaml Str regular
|
||||||
|
expressions.</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--source-files-freshly-captured</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print whether the
|
||||||
|
source file has been captured in the most recent capture
|
||||||
|
phase in the output of <b>--source-files</b>. (Conversely:
|
||||||
|
<b>--no-source-files-freshly-captured</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--source-files-procedure-names</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print the names of
|
||||||
|
procedure of each source file in the output of
|
||||||
|
<b>--source-files</b> (Conversely:
|
||||||
|
<b>--no-source-files-procedure-names</b>)</p>
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%;"><b>--source-files-type-environment</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">Activates: Print the type
|
||||||
|
environment of each source file in the output of
|
||||||
|
<b>--source-files</b> (Conversely:
|
||||||
|
<b>--no-source-files-type-environment</b>)</p>
|
||||||
|
|
||||||
|
<h2>ENVIRONMENT
|
||||||
|
<a name="ENVIRONMENT"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>INFER_ARGS</b>,
|
||||||
|
<b>INFERCONFIG</b>, <b>INFER_STRICT_MODE</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the ENVIRONMENT section in
|
||||||
|
the manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>FILES
|
||||||
|
<a name="FILES"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>.inferconfig</b></p>
|
||||||
|
|
||||||
|
<p style="margin-left:17%;">See the FILES section in the
|
||||||
|
manual of <b>infer</b>(1).</p>
|
||||||
|
|
||||||
|
<h2>SEE ALSO
|
||||||
|
<a name="SEE ALSO"></a>
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p style="margin-left:11%; margin-top: 1em"><b>infer-explore</b>(1),
|
||||||
|
<b>infer-report</b>(1)</p>
|
||||||
|
<hr>
|
||||||
|
</body>
|
||||||
|
</html>
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,19 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<title>index</title>
|
||||||
|
<link rel="stylesheet" href="./odoc.css"/>
|
||||||
|
<meta charset="utf-8"/>
|
||||||
|
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<main class="content">
|
||||||
|
<div class="by-name">
|
||||||
|
<h2>OCaml package documentation</h2>
|
||||||
|
<ol>
|
||||||
|
<li><a href="infer/index.html">infer</a></li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue