分类: C/C++
2009-03-18 10:24:19
符号文件是调试器工作的重要依据,对很多调试功能都起着重要作用,例如栈回溯、源代码级跟踪、变量观察等等。符号文件大多是二进制的,而且不同编译器使用的文件格式有所不同。 SymView工具用来显示符号文件中包含的符号表和符号数据。目前支持微软的Visual C/C++和C#编译器产生的DBG格式的符号文件和PDB格式的符号文件。 SymView提供了以下多种方式来查看或者搜索符号文件的内容:
下图是SymView的一个截图,左侧提供了上面介绍的5种观察视图。右侧上方的网格窗口用于显示左侧选中表格或者符号类的所有数据行或者符号。右侧下方用于显示上方选中行的子符号或者相关信息(属性)。 例如,目前使用的符号类表视图,选中的是UDT类型,右侧上方显示的是目前符号文件(NT内核的公共符号文件)中的所有UDT类型的符号。右侧下方显示的是上方选中的_DBGKD_BREAKPOINTEX类型的所有属性。 最下方的窗口用户显示SymView程序自身的调试信息,可能包含它工作过程中遇到的异常或者错误情况。 |
安装方法目前,SymView只由一个文件组成,即SymView.exe。只要通过下面的链接下载压缩包后,将其中的文件解压缩到你喜欢的位置就可以了。 值得说明的是,SymView是基于微软的DIASDK开发的,在工作时,它需要系统中已经有DIASDK的COM组件存在。如果你的系统中安装了Visual Studio 2005或者更高的版本的,那么这个组件应该已经安装好了。否则的话,你需要下载msdia80.dll并在命令行窗口执行如下命令进行注册: |
内部实现SymView是基于微软的DIASDK开发的。DIASDK是Debug Interface Access SDK的简称。以Visual Studio 2005为例,DIASDK默认被安装在如下目录中: 使用DIA组件的方法与使用其它COM组件一样,先要初始化COM支持库,然后创建接口的实例,即: hr = CoInitialize(NULL); 描述符号的主要接口是IDiaSymbol,它有上百个属性,对应于不同的符号信息。MSDN中描述了DIA接口,尽管不够详尽,但是涵盖了几乎所有接口。 |
下载包含SymView.exe的压缩包(216KB) 包含msdia80.dll的压缩包(639KB) |
chinaunix网友2011-01-24 10:09:36
★ 02174 1 Bone and Joint Imaging ★ 02180 2 private medical technology lecture series ★ 02181 1 drugs gut detoxification therapy ★ 02182 Zhuang medicine medicated thread moxibustion 1 ★ 02185 1 burn treatment ★ 02186 1 practical electric acupuncture therapy ★ 02194 4 pediatric massage ★ 02195 fingerprints treatment in children 1 Diagnosis and treatment of benign prostatic hyperplasia 1 ★ 02197 ★ 02204 1 treatment of psoriasis ★ 02207 palm 3 ★ 02208 1 whole dental cosmetic surgery ★ 02