kiz*_*zx2 7 windows performance diagnostics low-level dumpbin
假设我有一个包含十几个不同模块的项目,它们生成一个结果DLL,我该如何分析它以便我可以识别每个模块/函数所贡献的实际文件大小?我知道在Release版本中可能无法删除大量信息,但是如果我拥有完整的源代码并且可以执行Debug构建怎么样?
另外,如果在某处定义了大的静态变量,有没有办法可以轻松找到它们?
奖金问题:Linux ELF文件怎么样?
每当涉及到识别膨胀时,通常就从Windows 上的dumpbin开始。通常,通过编写工具通过转储检查每个对象模块,然后分析输出。它往往是一个反复的过程,可能会花费大量时间。
对于使用PDB的调试版本,Sizer可以生成有用的报告。
Adrian在这里提供了一些有用的指导。最大限度地减少代码膨胀,以实现更快的构建和更小的可执行文件,并使用一个称为SymbolSort的工具来提供帮助。C#中的源代码包含在SymbolSort中,因此如果SymbolSort没有帮助,则可能是一个不错的起点。