Title: Add a collection of offsets to facilitate the work of out-of-process debuggers · Issue #106597 · python/cpython · GitHub
Open Graph Title: Add a collection of offsets to facilitate the work of out-of-process debuggers · Issue #106597 · python/cpython
X Title: Add a collection of offsets to facilitate the work of out-of-process debuggers · Issue #106597 · python/cpython
Description: 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 d...
Open Graph Description: 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 pl...
X Description: 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 pl...
Opengraph URL: https://github.com/python/cpython/issues/106597
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Add a collection of offsets to facilitate the work of out-of-process debuggers","articleBody":"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.\r\n\r\nTo 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.\r\n\r\nThis 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.\r\n\r\nWe can add more fields to the struct in the future at our leisure. \r\n\r\nSee https://github.com/python/cpython/issues/106140 and https://github.com/python/cpython/issues/100987 and https://github.com/python/cpython/pull/105271 for more information.\r\n\r\n\n\n\u003c!-- gh-linked-prs --\u003e\n### Linked PRs\n* gh-106598\n* gh-121311\n* gh-121312\n* gh-121369\n* gh-121370\n\u003c!-- /gh-linked-prs --\u003e\n","author":{"url":"https://github.com/pablogsal","@type":"Person","name":"pablogsal"},"datePublished":"2023-07-10T14:28:32.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/106597/cpython/issues/106597"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:2224ee70-58aa-96a2-5f55-70c067b6ce6e |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | A334:74E61:1569423:1E186C4:696A4479 |
| html-safe-nonce | 282ef7eb161cfb6ead32db1576f4b6e6365391b873170ad8af31556cae29c48d |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBMzM0Ojc0RTYxOjE1Njk0MjM6MUUxODZDNDo2OTZBNDQ3OSIsInZpc2l0b3JfaWQiOiIzNTE1NTU2MjA2NzE5MTU3MzY5IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | e39fbe31b06bcea5d250c197128d79f61f178aba8e18c65aa4d9ddbf6a6bf2d9 |
| hovercard-subject-tag | issue:1796904732 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/python/cpython/106597/issue_layout |
| twitter:image | https://opengraph.githubassets.com/1b46fac89c3fcc6833018a8c7a878538a62ca21f810d2aabb2dafd02ca2afea8/python/cpython/issues/106597 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/1b46fac89c3fcc6833018a8c7a878538a62ca21f810d2aabb2dafd02ca2afea8/python/cpython/issues/106597 |
| og:image:alt | 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 pl... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | pablogsal |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3f871c8e07f0ae1886fa8dac284166d28b09ad5bada6476fc10b674e489788ef |
| turbo-cache-control | no-preview |
| go-import | github.com/python/cpython git https://github.com/python/cpython.git |
| octolytics-dimension-user_id | 1525981 |
| octolytics-dimension-user_login | python |
| octolytics-dimension-repository_id | 81598961 |
| octolytics-dimension-repository_nwo | python/cpython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 81598961 |
| octolytics-dimension-repository_network_root_nwo | python/cpython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 63c426b30d262aba269ef14c40e3c817b384cd61 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width