http://blogold.chinaunix.net/u/21790/showart_1866972.html
符号文件是调试器工作的重要依据,对很多调试功能都起着重要作用,例如栈回溯、源代码级跟踪、变量观察等等。符号文件大多是二进制的,而且不同编译器使用的文件格式有所不同。 SymView工具用来显示符号文件中包含的符号表和符号数据。目前支持微软的Visual C/C++和C#编译器产生的DBG格式的符号文件和PDB格式的符号文件。 SymView提供了以下多种方式来查看或者搜索符号文件的内容:
![]() 例如,目前使用的符号类表视图,选中的是UDT类型,右侧上方显示的是目前符号文件(NT内核的公共符号文件)中的所有UDT类型的符号。右侧下方显示的是上方选中的_DBGKD_BREAKPOINTEX类型的所有属性。 最下方的窗口用户显示SymView程序自身的调试信息,可能包含它工作过程中遇到的异常或者错误情况。 |
安装方法目前,SymView只由一个文件组成,即SymView.exe。只要通过下面的链接下载压缩包后,将其中的文件解压缩到你喜欢的位置就可以了。 值得说明的是,SymView是基于微软的DIASDK开发的,在工作时,它需要系统中已经有DIASDK的COM组件存在。如果你的系统中安装了 Visual Studio 2005或者更高的版本的,那么这个组件应该已经安装好了。否则的话,你需要下载msdia80.dll并在命令行窗口执行如下命令进行注册: regsvr32 msdia80.dll 应该在msdia80.dll所在目录中执行以上命令,或者指定完整的路径。 |
内部实现SymView是基于微软的DIASDK开发的。DIASDK是Debug Interface Access SDK的简称。以Visual Studio 2005为例,DIASDK默认被安装在如下目录中: c:/Program Files/Microsoft Visual Studio 8/DIA SDK 使用DIA组件的方法与使用其它COM组件一样,先要初始化COM支持库,然后创建接口的实例,即: 描述符号的主要接口是IDiaSymbol,它有上百个属性,对应于不同的符号信息。MSDN中描述了DIA接口,尽管不够详尽,但是涵盖了几乎所有接口。 |
下载包含SymView.exe的压缩包(216KB)SymView.zip 包含msdia80.dll的压缩包(639KB)msdia80.zip |