Об исполняемом файле с отладочной информацией в Windows - PullRequest
0 голосов
/ 21 сентября 2010

PointerToSymbolTable :

Смещение файла таблицы символов COFF или ноль, если таблица символов COFF отсутствует.Для файлов образа PE это 0, поскольку отладочная информация устарела.

Почему говорится, что отладочная информация устарела для образа PE?AFIAK, исполняемые файлы в окнах также могут нести отладочную информацию, не правда ли?

Ответы [ 2 ]

1 голос
/ 23 мая 2011

Поскольку говорится, что отладочная информация не рекомендуется для образа PE, символы отладки больше не внедряются непосредственно в PE.Скорее, он хранится в файле .PDB, который содержит отладочную информацию.Формат этого файла не документирован, поэтому вы можете извлечь информацию из этого файла только путем вызова API в DbgHelp.dll.

0 голосов
/ 21 сентября 2010

Обратите внимание, откуда вы это читаете, но эта страница в MSDN не имеет такого предостережения.

Вы должны помнить, что MSDN в некоторой степени относится к Microsoft.А в мире Microsoft информация отладки coff давно заменена файлами .PDB, поэтому вы почти никогда не получите символы внутри исполняемого образа при использовании компилятора Microsoft (и, следовательно, PointerToSymbolTable всегда будет0).

Все еще существуют программы, использующие встроенные данные COFF (например, MinGW).

...