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

Change generation for NonGC objects for debugger #89927

Merged
merged 7 commits into from
Aug 8, 2023

Conversation

EgorBo
Copy link
Member

@EgorBo EgorBo commented Aug 3, 2023

It seems that currently we do expose nongc objects to debugger (via EnumerateHeap API - I've checked that locally):
image

but with two issues:

  1. We report them as Gen2 objects
  2. We might report them as "dead" if nobody reference them at the time of memory snapshot, although, in fact, they're always there (immortal).

Presumably, this change requires changes on VS side (and external debuggers if they use this API?)

image

cc @davmason @noahfalk @cshung @hoyosjs

@ghost
Copy link

ghost commented Aug 3, 2023

Tagging subscribers to this area: @tommcdon
See info in area-owners.md if you want to be subscribed.

Issue Details

It seems that currently we do expose nongc objects to debugger (via EnumerateHeap API - I've checked that locally):
image

but with two issues:

  1. We report them as Gen2 objects
  2. We might report them as "dead" if nobody reference them at the time of memory snapshot, although, in fact, they're always there (immortal).

Presumably, this change requires changes on VS side (and external debuggers if they use this API?)

image

cc @davmason @noahfalk @cshung @hoyosjs

Author: EgorBo
Assignees: EgorBo
Labels:

area-Diagnostics-coreclr

Milestone: -

@noahfalk
Copy link
Member

noahfalk commented Aug 4, 2023

For the VS UI it would be more accurate if VS replaced the word "Generations:" with a different term like "Heaps", "Heap Regions", or "Categories". Its in the grey area to call POH or LOH a generation, but hopefully we can avoid implying that NonGC is a generation.

@EgorBo EgorBo marked this pull request as ready for review August 4, 2023 21:25
Copy link
Member

@davmason davmason left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Egor!

@EgorBo EgorBo merged commit 8df320c into dotnet:main Aug 8, 2023
107 checks passed
@EgorBo EgorBo deleted the debugger-foh branch August 8, 2023 08:10
@ghost ghost locked as resolved and limited conversation to collaborators Sep 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants