Skip to content

Commit c802860

Browse files
authored
[cDAC] UEWatsonBucketTrackerBuckets is not available on non-windows platforms (#124657)
* The `UEWatsonBucketTrackerBuckets` datadescriptor is only expected on windows platforms.
1 parent d6ea462 commit c802860

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

  • src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Data

src/native/managed/cdac/Microsoft.Diagnostics.DataContractReader.Contracts/Data/Thread.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ public Thread(Target target, TargetPointer address)
3333

3434
// Address of the exception tracker
3535
ExceptionTracker = address + (ulong)type.Fields[nameof(ExceptionTracker)].Offset;
36-
UEWatsonBucketTrackerBuckets = target.ReadPointer(address + (ulong)type.Fields[nameof(UEWatsonBucketTrackerBuckets)].Offset);
36+
// UEWatsonBucketTrackerBuckets does not exist on certain platforms
37+
UEWatsonBucketTrackerBuckets = type.Fields.TryGetValue(nameof(UEWatsonBucketTrackerBuckets), out Target.FieldInfo watsonFieldInfo)
38+
? target.ReadPointer(address + (ulong)watsonFieldInfo.Offset)
39+
: TargetPointer.Null;
3740
ThreadLocalDataPtr = target.ReadPointer(address + (ulong)type.Fields[nameof(ThreadLocalDataPtr)].Offset);
3841
}
3942

0 commit comments

Comments
 (0)