Reputation: 5241
PointerToSymbolTable:
The file offset of the COFF symbol table, or zero if no COFF symbol table is present. It is 0 for PE image files, since debugging information is depreciated.
Why it says debugging information is depreciated for PE image? AFIAK, executables in windows can also carry debug information,isn't that the case?
Upvotes: 1
Views: 1504
Reputation: 8815
As it says debugging information is depreciated for PE image, debug symbols are not directly embedded in PE anymore. It's rather stored in a .PDB file that holds the debugging information. The format of this file is undocumented so the only you can extract the information from this file is by calling APIs in DbgHelp.dll.
Upvotes: 2
Reputation: 72658
Note sure where you're reading that from, but this page in MSDN has no such caveat.
You need to remember that MSDN is somewhat Microsoft-specific. And in Microsoft-world, coff debugging information has long since been replaced by .PDB files, so you almost never get symbols inside the executable image when you use a Microsoft compiler (and hence PointerToSymbolTable
will always be 0).
There are still programs that use embedded COFF data (such as MinGW, I believe).
Upvotes: 1