我正在維護使用VS6.0構建的遺留應用程序,但現在它已移至VS2005,在編譯過程中會創建大量.COD文件,而我發現這個「Assembly,Machine Code和Source(/ FAcs)」編譯器開關負責這個。關於編譯器選項「Assembly,Machine Code and Source(/ FAcs)」
任何人都可以告訴我這些.COD文件的用途是什麼,以及如何使用它? 這是否有任何作用是崩潰轉儲分析?
感謝 湯姆
我正在維護使用VS6.0構建的遺留應用程序,但現在它已移至VS2005,在編譯過程中會創建大量.COD文件,而我發現這個「Assembly,Machine Code和Source(/ FAcs)」編譯器開關負責這個。關於編譯器選項「Assembly,Machine Code and Source(/ FAcs)」
任何人都可以告訴我這些.COD文件的用途是什麼,以及如何使用它? 這是否有任何作用是崩潰轉儲分析?
感謝 湯姆
一般來說他們是用於檢查由編譯器生成的代碼。有很多原因可能導致你想要這樣做。有時候你想看看代碼的優化程度。有時候你的代碼並不像你期望的那樣行事,你想看看它是你自己的代碼中的錯誤還是編譯器中的錯誤。
您可能在崩潰轉儲分析中使用.COD文件,但幾乎只能作爲最後的手段。在處理故障轉儲時,Visual Studio 2005通常會向您顯示源代碼和反彙編。如果您沒有PDB(或源文件),您只需要回退.COD文件。要將.COD文件與故障轉儲一起使用,您還需要一個.MAP文件。 .COD文件中的地址只與編譯器創建的.OBJ文件有關。 .MAP文件是查找.OBJ文件鏈接到EXE/DLL的位置所必需的。
因此,如果您有.COD文件和相應的.MAP文件,您可以使用它們查找代碼中的哪一行對應於故障轉儲中的地址。不過,使用IDE或Windbg會更容易。
請注意,免費的Express版本的Visual Studio 2005不支持調試崩潰轉儲。如果您有Express版本,則需要使用Windbg來分析故障轉儲。