Message 411818 - Python tracker (original) (raw)

I searched for "_PyObject_DebugMallocStats" in top 5000 PyPI projects. There is a single project using it: guppy3.

Extract of guppy3 src/heapy/xmemstats.c:

... dlptr__PyObject_DebugMallocStats = addr_of_symbol("_PyObject_DebugMallocStats"); ... static PyObject * hp_xmemstats(PyObject *self, PyObject *args) { if (dlptr__PyObject_DebugMallocStats) { fprintf(stderr, "======================================================================\n"); fprintf(stderr, "Output from _PyObject_DebugMallocStats()\n\n"); dlptr__PyObject_DebugMallocStats(stderr); } ... }

addr_of_symbol() is implemented with dlsym() or GetModuleHandle(NULL)+GetProcAddress(): it searchs for the symbol in the current process.