How can I redirect the output of cppcheck into a file?
Asked Answered
B

1

11

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?

Barometry answered 7/6, 2017 at 18:23 Comment(1)
You may want to also redirect stderr, so try to replace > with >&Thither
S
12

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)
Skindeep answered 8/6, 2017 at 21:10 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.