2011-08-25 129 views
1

據我所知,Microsoft的Portable Executable格式的COFF符號表用於存儲導出,導入和調試符號。但是,因爲我們已經有了.edata,.idata和.debug部分,爲什麼我們需要另一個這樣的結構呢?COFF符號表vs導入/導出/調試部分

回答

3

在這裏看到:http://msdn.microsoft.com/en-us/library/ms809762.aspx

「[COFF符號表]在OBJ文件和PE文件與COFF調試信息僅用於」

「.rdata部分至少用於兩件事情[...](在TLINK32 EXE中,調試目錄位於名爲.debug的部分)[...]三種主要類型的調試信息出現:CodeView®,COFF和FPO。「如果您打算使用Windows NT系統調試器(NTSD)或Windows NT內核調試器(KD),COFF是唯一的遊戲,那麼爲什麼任何人都需要COFF調試信息?城裏。」

換句話說,COFF符號表僅用於調試,僅用於更原始的調試器,並且通常放置在.debug(或.rdata)部分內。

+0

謝謝。這解決了我的疑惑。 – sraok