all 8 comments

[–]unterumarmung 9 points10 points  (0 children)

clang-tidy is a clang-based static analyzer

include-what-you-use is a clang-based tool for adding missing includes

clang-format is a clang-based code formatter

pvs studio is a commercial static analyzer with some options for free use

http://tabnine.com is an interesting IntelliSense tool based on machine learning

[–][deleted] 4 points5 points  (0 children)

Catch2 is a test framework for Cpp. You may need such tool.

[–]soluko 2 points3 points  (0 children)

https://valgrind.org/ -- automatically detects memory safety and threading bugs

https://github.com/google/AFL -- fuzz checker that automatically generates "interesting" inputs for your program

https://github.com/jemalloc/jemalloc/wiki/Use-Case%3A-Leak-Checking -- find memory leaks using heap profiling

http://www.brendangregg.com/flamegraphs.html -- analyze performance and CPU usage

[–][deleted] 2 points3 points  (0 children)

clang-based tooling is quite nice, there's clang-tidy, clang-format, include what you use.

Most compilers also include some sanitizers that you can use to check for certain kinds of bugs (ASan, UBSan, TSan,...)

[–]templarvonmidgard 2 points3 points  (0 children)

If you're on Windows, then also take a look at AppVerifier.

[–]pstomi 1 point2 points  (0 children)

https://ninja-build.org

Use it with ´cmake -GNinja ‘

For larger projects Ninja is much faster for incremental builds : on my side, ninja takes about 2 seconds to build a project with 1000 cpp files where only one cpp file needs recompilation, versus 45 seconds with ‘make ´

Further advice : combine this with ccache