10

I would like to redirect the output of cppcheck to a text file. It prints a lot of information to stdout but if I run cppcheck --enable=all --verbose . > /srv/samba/share/tmp/cppcheck.out, I do not get all the information in the file. Why not? How can I get the results in a file?

wovano
  • 4,543
  • 5
  • 22
  • 49
stdcerr
  • 13,725
  • 25
  • 71
  • 128

1 Answers1

11

The latest dev version of cppcheck contains a new option:

--output-file=<file name>

Add this option to direct the output into a specific file.

Usage example:

By default cppcheck prints its results to stdout:

$ cppcheck --enable=all test.cpp 
  Checking test.cpp ...
  [test.cpp:54]: (style) The scope of the variable 'middle' can be reduced.
  (information) Cppcheck cannot find all the include files (use --check-config for details)

You can use the option --output-file as follows to store the result in report.txt:

$ cppcheck --enable=all --output-file=report.txt test.cpp 
Checking test.cpp ...

Now the result is stored in report.txt:

$ more report.txt 
[test.cpp:54]: (style) The scope of the variable 'middle' can be reduced.
(information) Cppcheck cannot find all the include files (use --check-config for details)

As an alternative you could redirect the output to a file:

$ cppcheck --enable=all test.cpp 2> report.txt
Checking test.cpp ...

Now the result is stored in report.txt:

$ more report.txt 
[test.cpp:54]: (style) The scope of the variable 'middle' can be reduced.
(information) Cppcheck cannot find all the include files (use --check-config for details)
orbitcowboy
  • 1,438
  • 13
  • 25