一、SymView
SymView工具用来显示符号文件中包含的符号表和符号数据。目前支持微软的Visual C/C++和C#编译器产生的DBG格式的符号文件和PDB格式的符号文件。
SymView提供了以下多种方式来查看或者搜索符号文件的内容:
- 符号表 PDB或DBG文件中可以包含6种符号表,分别为符号表、源文件表、节贡献表、段表、注入源代码表和帧数据表。
- 编译素材(Compiland) 用于产生可执行文件的各种素材文件,包括OBJ、DLL、RES等。
- 数据流 比如描述FPO的FPO数据流。
- 符号类标(Tag) 根据所描述对象,符号被分为函数、常量、用户定义类型(UDT)、类型、常量等30多个类型。
- 搜索 可以按照符号逻辑关系或者符号名称等搜索符号。
下图是SymView的一个截图,左侧提供了上面介绍的5种观察视图。右侧上方的网格窗口用于显示左侧选中表格或者符号类的所有数据行或者符号。右侧下方用于显示上方选中行的子符号或者相关信息(属性)。 例如,目前使用的符号类表视图,选中的是UDT类型,右侧上方显示的是目前符号文件(NT内核的公共符号文件)中的所有UDT类型的符号。右侧下方显示的是上方选中的_DBGKD_BREAKPOINTEX类型的所有属性。
最下方的窗口用户显示SymView程序自身的调试信息,可能包含它工作过程中遇到的异常或者错误情况。
下载地址:http://advdbg.org/books/swdbg/t_symview.aspx
二、Pdbripper
这款Pdb文件提取工具可以将符号文件提取出来,用于单独查看调试文件是否正确。非常好用的一款小工具。
下载地址:http://ntinfo.biz/index.html