gendarme - Man Page

Rule-based code analysis for Mono.


gendarme [--config configfile] [--set ruleset] [--log file | --xml file | --html file] [options] assemblies ...


Gendarme is a extensible rule-based tool used to find problems in .NET  applications and libraries. Gendarme inspects programs and libraries that contain code in ECMA CIL format (Mono and .NET) and looks for common  problems with the code, problems that compilers do not typically check or have historically not checked.


--config configfile

Specify the rule sets and rule settings. Default is 'rules.xml'.

--set ruleset

Specify a rule set from configfile. Defaults to 'default'.

--log file

Save the report, as a text file, to the specified file.

--xml file

Save the report, formatted as XML, to the specified file.

--html file

Save the report, formatted as HTML, to the specified file.


Write the defects on stdout. This is the default (implicit) behavior if none of --log, --xml, or --html options are specified. If (explicitely) specified then  the defects will be shown on both stdout and inside text/xml/html report(s).

--ignore ignore-file

Do not report defects listed in the specified file.

--limit N

Stop reporting after N defects are found.

--severity [all | audit[+] | low[+|-] | medium[+|-] | high[+|-] | critical[-]],...

Filter the reported defects to include the specified severity levels. Default is 'medium+' (i.e. low and audit levels are ignored).

--confidence [all | low[+] | normal[+|-] | high[+|-] | total[-]],...

Filter the reported defects to include the specified confidence levels. Default is 'normal+' (i.e. low level is ignored).


Used to disable progress and other information which is normally written to stdout.


When present additional progress information is written to stdout. May be used more than once to write even more info.


Display Gendarme's version number. This will match the Mono version number that this copy of Gendarme was released with.

assemblies ...

Specify the assemblies to verify. You can specify multiple filenames,  including masks (? and *). You can also provide a file that lists several assemblies (one per line) by prefixing the filename with @ on the command  line.



This file is used to filter out defects from gendarme reports.


This file is used in conjunction with the --set option to control and configure the rules used by Gendarme. It contains a set of named rules (rule sets) and each rule set contains  a list of rules.


Used by debug versions of Gendarme to enable logging for rules. It is useful for Gendarme's developers (i.e. not meant for end-users).

Environment Variables


The runner will use colors when displaying defects on the console.  By default colors are dark in order to display correctly on any  background. You can change this default to "light" (lighter colors  looks nice on a dark background, or "none" so no colors will be used. E.g.

    GENDARME_COLOR=none gendarme ...

Exit Status


The runner returns 0 when no error has occurred. If some code was  analyzed then this also means that no defects were found and reported.


The runner execution was successful but either some defects where found or no assembly was specified.


The runner execution was interrupted by I/O errors (e.g. missing files).


The runner founds errors in the (default or user supplied) configuration files. Specific error messages should be printed on the console.


The runner execution was interrupted by a non-handled exception. This is likely a bug inside Gendarme and should be reported on Novell's bugzilla ( or on the mailing-list.

Mailing Lists

Mailing lists are listed at the

Web Site

See Also


Referenced By

gd2i(1), gendarme(5).