如何知道可执行文件是否以递增方式链接?

时间:2009-07-07 16:05:06

标签: windows visual-studio purify incremental-linking

我正在尝试使用Purify 6来分析我们使用VC ++ 2003(7.1)构建的可执行文件中的内存损坏。

当我使用以下命令检测二进制文件时:

purify /Replace=yes /Run=no myprog.exe

仪器中止告诉我可执行文件是逐步链接的。困惑,我检查了构建选项,但/INCREMENTAL:NO就在那里。可以肯定的是,我重新构建了它,并且在链接时正确地传递了选项。

有没有办法知道可执行文件是否以增量方式链接?

我查看了dumpbin /HEADERS说的内容,但没有看到任何相关内容。

感谢。

1 个答案:

答案 0 :(得分:2)

选项1:

c:...> dumpbin / summary whatever.exe

寻找“.textbss”部分。

我不确定这是100%可靠,但根据我的经验,链接器总是在进行增量链接时添加此部分。

选项2:

在可执行文件旁边查找“.ilk”文件。 Visual Studio似乎很好用于在不使用时清理它们,因此禁用增量链接和构建(甚至不是“重建”)应该将其删除。

选项3:

启用构建日志记录(工具/选项/项目),并在其生成的buildlog.html文件中查找“/ INCREMENTAL”或“/ INCREMENTAL:NO”。

选项4:

解析.vcproj文件。 (ICK!)