Barememtracer
C/C++ bare bones memory tracer
Install / Use
/learn @uraimo/BarememtracerREADME
BareMemTracer -- a C/C++ bare bones memory tracer
A simple memory allocation tracer written in C (new/delete tracing available in a C++ environment) that can be used to track down memory leaks. Due to its simplicity, it should work in nearly every environment (highly constricted embedded environment too) and should be quite easy to modify/extend if needed.
If you need a real dynamic analysis&debugging tool, you should consider using Valgrind instead if your platform is supported.
Usage
Just add this include statement (after your system/c header includes):
#include "memtracer.h"
And invoke the following function to print out the allocation status wherever you want:
dumpAlloc();
See test.c and test.cpp for an example of usage.
Notes
The tracing...() calls are not thread-safe, if your application has multiple threads allocating memory
please consider introducing a lock at the beginning of tracingInit().
The constant ALLOC_TABLE_SIZE in memtracer.h can be used to increase the size of the allocation descriptors hashmap thus reducing its load and increasing the performarnce of add/remove operations.
When used with C++ some modification could be needed to the "new" declarations if your environment doesn't support namespaces.
License
BSD license, see COPYING
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
