Tools

= Development Tools =

Services

 * Pull Requests: code contribution and review
 * BuildBot: automated builds at builder.blender.org
 * Git: how to download, update and commit code
 * Subversion: how to check out prebuild libraries and translations
 * tea: command line tool for interacting with Gitea

Development Tools

 * ClangFormat: automatic code formatting following Blender style
 * CMake for Developers: CMake options for development
 * distcc: distributed building
 * Unity Builds: reduce compile times
 * C/C++ Code Documentation: viewing and editing with doxygen

Testing

 * Setup: setup to run tests
 * C/C++ Tests: GTest tests
 * Python Tests: Python testing
 * Performance Tests: benchmarking

C/C++

 * GDB: debugging on Unix system
 * Address Sanitizer: debugging with GCC/Clang & ASAN
 * Valgrind: detecting memory errors (linux/osx only)
 * BuGLe: OpenGL debugging
 * Py from C: run Python scripts in C code (test changes without rebuilds).

Python

 * Eclipse PyDev: How to debug Python scripts running in Blender from the Eclipse IDE.
 * Profiling: How to profile Python function calls.
 * Tracing: How to log script execution.

Guides

 * Coding Tips: how to navigate the code and debug problems.
 * Blender Dev Tools: how to setup Blenders optional developer tools repo.
 * Git Bisect with Event Simulation: automatically find faulty commits