semind - Man Page

Semantic Indexer for C

Synopsis

semind [options]
semind [options] add [command options] [--] [compiler options] [files...]
semind [options] rm [command options] pattern
semind [options] search [command options] [pattern]
semind [options] search [command options] (-e|-l) filename:linenr:column

Description

semind is the simple to use cscope-like tool based on sparse/dissect.  Unlike cscope it runs after pre-processor and thus it can't index the code filtered out by ifdef's, but otoh it understands how the symbol is used and it can track the usage of struct members.

Subcommands

add

generates or updates semantic index file.

rm

removes files from the index by pattern. The pattern is a glob(7) wildcard pattern.

search

queries information about symbol by pattern. The pattern is a glob(7) wildcard pattern.

Common Options

-D, --database=FILE

specify database file (default: ./semind.sqlite).

-v,  --verbose

show information about what is being done.

-h,  --help

show this text and exit.

Add Options

--include-local-syms

include into the index local symbols.

Search Options

-f, --format=STRING

specify an output format. Default: '(%m) %f\t%l\t%c\t%C\t%s' (see Format below).

-p, --path=PATTERN

search symbols only in specified directories.

-m, --mode=MODE

search only the specified type of access (see Mode below).

-k, --kind=KIND

specify a kind of symbol (see Kind below).

-e, --explain

Show what happens in the specified file position;

-l, --location

Show usage of symbols from a specific file position;

-v, --verbose

show information about what is being done;

-h, --help

show this text and exit.

Format

%m

access mode in human readable form (see Mode below).

%f

file name.

%l

line number.

%c

column number.

%C

the name of the function in which the symbol occurs.

%n

symbol name.

%s

source code line. Indexer does not save source code lines. They are read from the file during the search.

Kind

f

function

s

strict

m

struct member

Mode

The MODE is dumped as a 3-letter string. The first letter denotes address of part, 2-nd - access by value, 3-rd - access by pointer. A special value 'def' means a symbol definition.

r

read

w

write

m

read and write

See Also

sparse(1)

Homepage

https://sparse.docs.kernel.org

Mailing List

linux-sparse@vger.kernel.org