2010-09-21 70 views
0

PointerToSymbolTable調試信息:關於可執行文件與Windows

文件COFF符號 表的偏移或零,如果沒有COFF符號表 存在。 PE圖像 文件爲0,因爲調試信息是折舊的 。

爲什麼說調試信息會折舊用於PE映像? AFIAK,windows中的可執行文件也可以攜帶調試信息,是不是這種情況?

回答

0

注意確定你在哪裏閱讀,但在MSDN中this page沒有這樣的警告。

您需要記住MSDN在某種程度上是針對Microsoft的。在Microsoft世界中,coff調試信息早已被.PDB文件取代,因此當您使用Microsoft編譯器時(因此PointerToSymbolTable將始終爲0),幾乎從不會獲得內部的可執行映像。

仍然有程序使用嵌入的COFF數據(例如MinGW,我相信)。

+0

PE中調試符號的結構名稱是什麼? – COMer 2010-09-28 08:00:40

1

因爲它說調試信息對於PE映像是折舊的,調試符號不會直接嵌入到PE中。它存儲在保存調試信息的.PDB文件中。這個文件的格式沒有記錄,所以你只能通過調用DbgHelp.dll中的API來從這個文件中提取信息。

相關問題