如果我使用相同的源重建,那么EXE会有相同的偏移吗?

时间:2012-03-01 17:54:06

标签: c++ visual-studio-2008 exe crash-reports eip

我收到了一些博士Watson信息的用户崩溃报告,包括EIP。我想开始调试,然后设置EIP并查看这需要我去哪一行。我还在Release版本中启用了Line Info。

我在源代码管理中有一个标签,所以我可以提取用于构建它的源代码,但我不知道链接器是否会生成具有相同偏移量的EXE,否则EIP将没有用处。

1 个答案:

答案 0 :(得分:0)

除非您可以确保所有使用的库,所有源代码和链接器都没有更改,因为您已将代码检查到版本控制中,因此没有指示偏移量是相同的。这就是为什么许多公司将竭尽全力将可执行文件保存在配置管理之下。

根据经验,如果偏移量不同,那么它很快就会变得明显,所以你至少可以检查,如果事情没有意义,则忽略EIP和其他可执行地址偏移。

如果您构建了一个地图文件并从崩溃报告来自的版本中保存了该文件,并从重建源中保存了一个地图文件,那么您可以进行一些比较分析(功能真正的功能)以从中获取一些有用的信息。可执行地址和偏移量。