RefTrack¶
- page pvd_reftrack
reftrack.h is a utility for listing, finding, and reading global atomic counters. By convention used to expose object instance counters as a way of detecting (slow) reference/resource leaks before they cause problems.
cf. the IOC shell commands “refshow”, “refsave”, and “refdiff”.
Example usage:
// my header.h struct MyClass { MyClass(); ~MyClass(); static size_t num_instances; ... }; ... // my src.cpp size_t MyClass::num_instances; MyClass::MyClass() { REFTRACE_INCREMENT(num_instances); } MyClass::~MyClass() { REFTRACE_DECREMENT(num_instances); } // in some IOC registrar or global ctor registerRefCounter("MyClass", &MyClass::num_instances);