Closed cshung closed 1 year ago
I'm closing this one as completed. All code within SOS and ClrMD only use allocation_start when dealing with segments (i.e. !defined(USE_REGIONS)
). There's still a little code left in C++ SOS which has some GC logic, but that all will be removed when I'm done with my current work, but as of a few checkins ago we no longer incorrectly use allocation_start.
When
USE_REGIONS
is enabled, we don't have the fieldallocation_started
defined on thegeneration
class.Sadly, it is still defined on
DacpGenerationData
as the struct cannot be changed. After https://github.com/dotnet/runtime/pull/56796 is merged, the field should always be 0.Any code that depends on the value is wrong if the debuggee is run with
USE_REGIONS
enabled. Therefore we need to review all usage and see what we can do to fix them.