Skip to content

Commit 8a012e9

Browse files
authored
Merge pull request #532 from ElektroKill/fix/pdb-writer-incorrect-column-sizes
Fix incorrect column sizes when writing portable or embedded PDB files
2 parents 67396c0 + 1e2c8f9 commit 8a012e9

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/DotNet/Writer/TablesHeap.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -353,7 +353,19 @@ public void CalculateLength() {
353353
var dnTableSizes = new DotNetTableSizes();
354354
var tableInfos = dnTableSizes.CreateTables(majorVersion, minorVersion);
355355
var rowCounts = GetRowCounts();
356-
dnTableSizes.InitializeSizes(bigStrings, bigGuid, bigBlob, systemTables ?? rowCounts, rowCounts, options.ForceBigColumns ?? false);
356+
357+
var debugSizes = rowCounts;
358+
if (systemTables is not null) {
359+
debugSizes = new uint[rowCounts.Length];
360+
for (int i = 0; i < rowCounts.Length; i++) {
361+
if (DotNetTableSizes.IsSystemTable((Table)i))
362+
debugSizes[i] = systemTables[i];
363+
else
364+
debugSizes[i] = rowCounts[i];
365+
}
366+
}
367+
368+
dnTableSizes.InitializeSizes(bigStrings, bigGuid, bigBlob, rowCounts, debugSizes, options.ForceBigColumns ?? false);
357369
for (int i = 0; i < Tables.Length; i++)
358370
Tables[i].TableInfo = tableInfos[i];
359371

0 commit comments

Comments
 (0)