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.

Features

  • Minimal code interface, transparent library integration, low overheads
  • Easy library code and runtime configuration
  • Rich tool sets, fully tested/testable and fully docomented
  • Rich reflection API for symbols and symbol tables, runtime address to full function signature matching, thread/process execution e.t.c
  • Easy library input/streaming/output of generic, AOP or trace data
  • Stack trace (and generic) syntax highlighters

Project Samples

Project Activity

See All Activity >

License

Apache License V2.0

Follow libinstrument (ex libcsdbg)

libinstrument (ex libcsdbg) Web Site

Other Useful Business Software
Stay in Flow. Let Zenflow Handle the Heavy Lifting. Icon
Stay in Flow. Let Zenflow Handle the Heavy Lifting.

Your AI engineering control center. Zenflow turns specs into shipped features using parallel agents and multi-repo intelligence.

Zenflow is your engineering control center, turning specs into shipped features. Parallel agents handle coding, testing, and refactoring with real repo context. Multi-agent workflows remove bottlenecks and automate routine work so developers stay focused and in flow.
Try free now

Additional Project Details

Operating Systems

BSD, Linux, MinGW/MSYS2, uClinux

Languages

English

Intended Audience

Advanced End Users, Architects, Developers, Education, Testers

User Interface

Console/Terminal, Java Swing, Plugins

Programming Language

C, C++, Java, Unix Shell

Related Categories

Unix Shell Debuggers, Unix Shell Profiling Software, Unix Shell Agile Development Tools, Unix Shell VMware Software, C++ Debuggers, C++ Profiling Software, C++ Agile Development Tools, C++ VMware Software, C Debuggers, C Profiling Software, C Agile Development Tools, C VMware Software, Java Debuggers, Java Profiling Software, Java Agile Development Tools, Java VMware Software

Registered

2012-07-21