Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a collection of offsets to facilitate the work of out-of-process debuggers #106597

Closed
pablogsal opened this issue Jul 10, 2023 · 2 comments
Closed

Comments

@pablogsal
Copy link
Member

pablogsal commented Jul 10, 2023

Some of the relevant fields in the interpreter state and the frame state in 3.12 are very challenging to fetch from out-of-process tools because they are in offsets that depend on compilation or platform variables that are different in different platforms. Not only that but they require the tools to copy a huge amount of intermediate structures making the whole thing very verbose.

To allow out-of-process tools to get these offsets without having to copy the headers (which also doesn't really work as some of these fields may depend on compilation flags and other parameters), add a debugging struct to the runtime state (which is the entry point many of these tools need anyway) that contain a list of the offsets that are relevant for out-of-process tools.

This list will not be backward compatible between minor versions but is expected to reflect the relevant fields for all the life of a minor version.

We can add more fields to the struct in the future at our leisure.

See #106140 and #100987 and #105271 for more information.

Linked PRs

@hugovk
Copy link
Member

hugovk commented Nov 10, 2023

Is there more to do here, or can we close this issue?

@pablogsal
Copy link
Member Author

We can close it for now 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants