Man Linux: Main Page and Category List

NAME

       ggcov - a GNOME frontend for exploring gcov coverage data

SYNOPSIS

       ggcov [GNOME options] [[-r] directory|file] ...

DESCRIPTION

       Ggcov  is a GTK+ GUI for exploring test coverage data produced by C and
       C++ programs compiled with gcc -fprofile-arcs -ftest-coverage.  So it’s
       basically a GUI replacement for the gcov program that comes with gcc.

       Ggcov  understands  all  the  standard  GTK+ and GNOME options, such as
       -display and -disable-crash-dialog.  All other arguments  are  used  to
       specify   how   to   find  coverage  data  files.   The  arguments  can
       combinations of:

       directory
              The directory is scanned for source files, which are handled  as
              if  they  had  been  specified  on  the commandline (except that
              missing coverage data files are silently ignored).   If  the  -r
              flag  is  in  effect,  sub-directories  are scanned recursively.
              Multiple directories can be specified and  are  scanned  in  the
              order given.

       executable
              The  executable  file  is  scanned  for  debugging records which
              contain source file names, and each source file which exists  is
              handled  as if it had been specified on the command line (except
              that missing coverage data files  are  silently  ignored).   Any
              shared  libraries  on  which  the  executable  depends  are also
              scanned.  Multiple executables can be specified and are  scanned
              in  the  order  given.   This  feature is only available on some
              platforms (for example, i386-linux).

       source-file
              Is any regular file ending in one of  the  file  extensions  .c,
              .cc,  .cxx,  .cpp,  or  .C.   Source  files are matched to their
              corresponding coverage data files (.gcno  and  .gcda  files,  or
              .bb,  .bbg, and .da files with older compilers) and object files
              by searching for a file of the same basename and the appropriate
              extension  first  in  the  same directory as the source file and
              then in all the directories specified on the  command  line  (in
              the order they were specified).

       If  no  arguments are given, ggcov shows a file selection dialog so you
       can select one directory, executable, or source file.

       Directories, executables, or source files can also be added after ggcov
       is  started  by dragging and dropping them from a GNOME Nautilus window
       onto any ggcov window.

OPTIONS

       -o dir, --object-directory=dir
              Add the directory dir to the search path for  object  files  and
              coverage data files.

       -r, --recursive
              When  a  directory  is specified on the command line, search for
              coverage data files recursively in all child directories.

       -w windows, --initial-windows=windows
              Open the named windows when  ggcov  starts.   Window  names  are
              summary,  files,  functions,  calls,  callbutterfly,  callgraph,
              lego, source, and reports.  The default window is summary.

       -X symbols, --suppress-ifdef=symbols
              Do not include in statistics or summaries, code  inside  C  pre-
              processor  directives  which depend on any of the given symbols.
              One or more  symbols  may  be  given,  separated  by  commas  or
              whitespace.   Ggcov  understands  the  following subset of the C
              pre-processor command set:

              · #if SYMBOL
              · #if defined(SYMBOL)
              · #ifdef SYMBOL
              · #ifndef SYMBOL
              · #else
              · #endif

              For example, -X DEBUG will suppress the fprintf() call  in  this
              code:

              unsigned int
              my_function(unsigned int x)
              {
                  x += 42;
              #ifdef DEBUG
                  fprintf(stderr, "my_function: x=%u\n", x);
              #endif
                  return x;
              }

              This  option is useful for suppressing test infrastructure code,
              debugging code,  or  other  code  which  is  compiled  into  the
              coverage  test executable but whose coverage is not significant.

       -Y words, --suppress-comment=words
              Do not include in statistics or summaries, code on  lines  which
              also  contains  a single-line comment comprising only one of the
              given words.  One or more symbols may  be  given,  separated  by
              commas  or whitespace.  For example, specifying -Y IGNOREME will
              suppress the assert() in this code:

              unsigned int
              my_function(unsigned int x)
              {
                  x += 42;
                  assert(x >= 42);   /* IGNOREME */
                  return x;
              }

              This option is useful for suppressing test infrastructure  code,
              debugging  code,  or  other  code  which  is  compiled  into the
              coverage test executable but whose coverage is not  significant.

       -Z startword,endword,...

       --suppress-comment-between=startword,endword,...
              Do not include in statistics or summaries, code on lines between
              those containing a single-line comment comprising only startword
              and  the  next single-line comment comprising only endword.  Two
              or more symbols may be given, in pairs, separated by  commas  or
              whitespace.  For example, -Z STARTIGNORE,ENDIGNORE will suppress
              the entire function in this code:

              /* STARTIGNORE */
              unsigned int
              my_function(unsigned int x)
              {
                  x += 42;
                  return x;
              }
              // ENDIGNORE

              This option is useful for suppressing test infrastructure  code,
              debugging  code,  or  other  code  which  is  compiled  into the
              coverage test executable but whose coverage is not  significant.

EXAMPLES

       View  coverage  data  for all the available source in an executable (on
       some platforms only):

              ggcov a.out

       View coverage data for all the  C  source  in  the  current  directory,
       suppressing code which depends on the symbols DEBUG or TEST:

              ggcov -X DEBUG,TEST *.c

       View  coverage  data  for  all  the C source in one directory where the
       object files and test coverage data files are in different directories:

              ggcov /foo/obj/ /foo/cov-data/ /foo/src/

AUTHOR

       Written by Greg Banks <gnb@users.sourceforge.net>.

COPYRIGHT

       ggcov  is Copyright © 2001-2005 Greg Banks <gnb@users.sourceforge.net>.
       This is free software; see the COPYING  file  for  copying  conditions.
       There  is  NO  warranty;  not even for MERCHANTABILITY or FITNESS FOR A
       PARTICULAR PURPOSE.