Re: [Python-Dev] No longer enable Py_TRACE_REFS by default in debug build

2019年4月10日 12:32:04 -0700

On Wed, Apr 10, 2019, 04:04 Victor Stinner <[email protected]> wrote:
> Le mar. 9 avr. 2019 à 22:16, Steve Dower <[email protected]> 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.)
-n
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to