我正在维护使用VS6.0构建的遗留应用程序,但现在它已移至VS2005,在编译期间它创建了大量的.COD文件,我发现这个"程序集,机器代码和源代码(/ FAcs) )"编译器开关负责此。
任何人都可以告诉我这些.COD文件的用途是什么,以及如何使用它? 这有什么作用是崩溃转储分析吗?
感谢 汤姆
答案 0 :(得分:2)
一般来说,它们用于检查编译器生成的代码。您可能希望这样做有多种原因。有时您希望了解代码的优化程度。有时你的代码没有按照你期望的方式运行,你想看看它是你自己的代码中的错误还是编译器中的错误。
您可能会在崩溃转储分析中使用.COD文件,但几乎只作为最后的手段。在使用故障转储时,Visual Studio 2005通常可以显示源代码和反汇编。如果您没有PDB(或源文件),则只需要依赖.COD文件。要将.COD文件与故障转储一起使用,还需要一个.MAP文件。 .COD文件中的地址仅与编译器创建的.OBJ文件有关。 .MAP文件是查找.OBJ文件链接到EXE / DLL的位置所必需的。
因此,如果您有.COD文件和相应的.MAP文件,您可以使用它们找出代码中的哪一行与崩溃转储中的地址相对应。但是,使用IDE或Windbg要容易得多。
请注意,Visual Studio 2005的免费Express版本不支持调试故障转储。如果您拥有Express版本,则需要使用Windbg来分析故障转储。