PRB: IMAGEHLP Symbol Handler Functions and Microsoft Visual C++ 6.0 .pdb FilesID: Q222103
|
When an executable file or a DLL is generated with CodeView debug information in a .pdb file using Microsoft Visual C++ 6.0, the IMAGEHLP symbol handler functions fails. The IMAGEHLP APIs, such as SymGetSymFromAddr() or SymGetLineFromAddr() fails with a GetLastError() of 487 (ERROR_INVALID_ADDRESS).
The .pdb file format has been changed in Microsoft Visual C++ 6.0. The IMAGEHLP 4.0 DLL version shipped with Microsoft Windows NT 4.0 cannot read Microsoft Visual C++ 6.0 .pdb files.
The latest version of the IMAGEHLP libraries supports Microsoft Visual C++ 6.0 .pdb files. This version can be obtained from the Platform SDK. For the redistribution policy, please refer to the Platform SDK license information.
Version 4.0 of the IMAGEHLP DLL can be used if the debug information is either embedded within the executable file or stripped and placed in a .dbg file. The symbol handler functions will fail only when the CodeView debug information is generated in the .pdb file symbol format.
INFO: Visual C++ Project Settings and .DBG file creation
Additional query words:
Keywords : kbAPI kbDebug kbKernBase
Version : winnt:4.0
Platform : winnt
Issue type : kbprb
Last Reviewed: April 9, 1999