如果您在其中设置断点System._StartExe
并检查传入的 InitTable,您会注意到InitTable.UnitCount
大于InitTable.TypeInfo.UnitCount
. 不幸的是,这些记录都没有很好的记录。有谁知道这两个数字代表什么以及为什么它们不同?我假设 InitTable.UnitCount 是应用程序中的单元总数。但是另一个是什么?
问问题
214 次
1 回答
3
我相信
-PackageInfoTable.UnitCount
计算存储在UnitInfo
数组中的单位,其中每条记录都包含包的单位部分的初始化和完成代码指针。
-PackageInfoTable.TypeInfo.UnitCount
连同 ...UnitNames
引用包含一些TypeInfo
存储在TypeTable
(真实类型信息或单元边界标记)中的单元。
一个单元可以包含一些 Init/Finit 代码,但没有 TypeInfo 来收集和交互,因此区别......
仅供参考,查看MemCheck.pasprocedure ChangeFinalizationsOrder
以了解他们如何破解 InitTable(直到 D2006)...
于 2010-08-06T01:28:06.980 回答