Libinstrument is a complete and easy way to do custom function instrumentation for C/C++. The project comes ready with classic applications of instrumentation, such as AOP (Aspect Oriented Programming), Concern and Side Effect injection, stack tracing, exception tracing, basic time profiling, callgraph profiling and other. A GC (Garbage Collector) module is also under development.
Libinstrument is highly portable and decoupled. The project comes with a CMake build system, integration with IDEs (CLion, Eclipse e.t.c) is straightforward. Using lazy algorithms there is virtually zero overhead in benchmarks and minimum overhead in execution time. Libinstrument tries to be as non-intrusive as possible, while trying to help the developer offering basic reflection.
There are Unit Tests for each class and method, testing is driven with CTest.