From: Aleksey Kliger (λgeek) Date: Fri, 2 Aug 2024 17:49:38 +0000 (-0400) Subject: Don't print wNumVirtuals wNumVtableSlots if they're 0 (#4760) X-Git-Tag: accepted/tizen/unified/20241231.014852~39^2^2~111 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=db347bfcdb71d5e408edb784dec1d3914908942c;p=platform%2Fcore%2Fdotnet%2Fdiagnostics.git Don't print wNumVirtuals wNumVtableSlots if they're 0 (#4760) Since .NET 9 the runtime will always set these MethodTableData fields to 0 --- diff --git a/src/SOS/Strike/strike.cpp b/src/SOS/Strike/strike.cpp index 282182b23..70e2a1dbd 100644 --- a/src/SOS/Strike/strike.cpp +++ b/src/SOS/Strike/strike.cpp @@ -1096,8 +1096,14 @@ DECLARE_API(DumpClass) { DMLOut("Canonical MethodTable: %s\n", DMLClass(mtdata.Class)); } - ExtOut("Vtable Slots: %x\n", mtdata.wNumVirtuals); - ExtOut("Total Method Slots: %x\n", mtdata.wNumVtableSlots); + if (mtdata.wNumVirtuals != 0) + { + ExtOut("Vtable Slots: %x\n", mtdata.wNumVirtuals); + } + if (mtdata.wNumVtableSlots != 0) + { + ExtOut("Total Method Slots: %x\n", mtdata.wNumVtableSlots); + } ExtOut("Class Attributes: %x ", mtdata.dwAttrClass); if (IsTdInterface(mtdata.dwAttrClass)) @@ -1252,7 +1258,7 @@ DECLARE_API(DumpMT) table.WriteRow("ComponentSize:", PrefixHex(vMethTable.ComponentSize)); table.WriteRow("DynamicStatics:", vMethTable.bIsDynamic ? "true" : "false"); table.WriteRow("ContainsPointers:", vMethTable.bContainsPointers ? "true" : "false"); - table.WriteRow("Slots in VTable:", Decimal(vMethTable.wNumMethods)); + table.WriteRow("Number of Methods:", Decimal(vMethTable.wNumMethods)); table.SetColWidth(0, 29); table.WriteRow("Number of IFaces in IFaceMap:", Decimal(vMethTable.wNumInterfaces));