[Python-Dev] No longer enable Py_TRACE_REFS by default in debug build
On Wed, Apr 10, 2019, 04:04 Victor Stinner <vstinner at redhat.com> wrote:
> Le mar. 9 avr. 2019 ? 22:16, Steve Dower <steve.dower at python.org> a ?crit
> > What are the other changes that would be required?
> I don't know.
> > And is there another
> > way to get the same functionality without ABI modifications?
> Py_TRACE_REFS is a double linked list of *all* Python objects. To get
> this functionality, you need to store the list somewhere. I don't know
> how to maintain such list outside the PyObject structure.
I assume these pointers get updated from some generic allocation/free code.
Could that code instead overallocate by 16 bytes, use the first 16 bytes to
hold the pointers, and then return the PyObject* as (actual allocated
pointer + 16)? Basically the "container_of" trick.
I don't think that I ever used sys.getobjects(), whereas many projects
> use gc.get_objects() which is also available in release builds (not
> only in debug builds).
Can anyone explain what pydebug builds are... for? Confession: I've never
used them myself, and don't know why I would want to.
(I have to assume that most of Steve's Windows downloads are from folks who
thought they were downloading a python debugger.)
-------------- next part --------------
An HTML attachment was scrubbed...