我们的QA团队希望根据EXE和DLL在构建之间实际发生的变化来进行测试。我们有一个很好的svn更改报告,但源代码和更改后的二进制文件之间的关系并不总是很明显。我们比较的版本始终是完全清理的版本,所以我们不能使用文件系统时间戳。我正在寻找工具来比较窗口(和Windows CE)的PE二进制文件,将忽略嵌入的时间戳和其他cruft。任何建议工具或其他方式来生成一个可靠的“什么二进制文件真的改变了”报告?谢谢。差异化窗口二进制文件的工具?
澄清:感谢迄今为止的答案,但我们无法直接逐字节比较或比较校验和来生成报告,因为所有文件在每次构建时都会显示不同,即使源文件因为编译器插入的时间戳而没有改变。问题是如何忽略误报。拆机&比较的想法是最接近于我们所需要的,我想......
回答! Bindiff就是我正在寻找的东西。非常感谢。
有趣的技术问题,但是什么使'EXEs/dll改变'列表比'源文件改变'列表更相关? – orip 2008-12-06 08:53:54
这里是场景:svn说ObscureLib.c自上次构建以来发生了变化。我应该重新运行foo.exe的测试套件吗? – 2008-12-07 01:26:30