WEB开发网
开发学院软件开发VC 符号文件——Windows 应用程序调试必备 阅读

符号文件——Windows 应用程序调试必备

 2007-03-17 21:25:05 来源:WEB开发网   
核心提示:一、何谓符号文件?符号文件(Symbol Files)是一个数据信息文件,它包含了应用程序二进制文件(比如:EXE、DLL等)调试信息,符号文件——Windows 应用程序调试必备,专门用来作调试之用,最终生成的可执行文件在运行时并不需要这个符号文件,符号文件包括以下的数据信息:全局变量(Global variable

一、何谓符号文件?

符号文件(Symbol Files)是一个数据信息文件,它包含了应用程序二进制文件(比如:EXE、DLL等)调试信息,专门用来作调试之用,最终生成的可执行文件在运行时并不需要这个符号文件,但你的程序中所有的变量信息都记录在这个文件中。所以调试应用程序时,这个文件是非常重要的。用 Visual C++ 和 WinDbg 调试程序时都要用到这个文件。

在 Windows 系统中,符号文件以 .pdb 为扩展名,比如:每个 Windows 操作系统下有一个 GDI32.dll 文件,编译器在编译该 DLL 的时候会产生一个 GDI32.pdb 文件,一旦你拥有了这个 PDB 文件,那么便可以用它来调试并跟踪到 GDI32.dll 内部。该文件和二进制文件的编译版本密切相关,比如修改了 DLL 的输出函数,再编译该 DLL,那么原先的 PDB 文件就过时了,不能再用老的 PDB 文件来做调试工作,而必须使用最新的 PDB 文件版本。

Visual C++ 编译代码后会在 Debug 或者 Release 目录下生成一个 PDB 文件。一般情况下,符号文件包括以下的数据信息:

全局变量(Global variables);

局部变量(Local variables);

函数名和它们的入口地址(Function names and the addresses of their entry points);

FPO 数据(Frame Pointer Omission):Frame Pointer 是一种用来在调用堆栈(Call stack)中找到下一个将要被调用的函数的数据结构源代码的行序号(Source-line numbers);

二、如何得到和安装符号文件?

先确定你的操作系统(OS)版本;

到微软网站下载相应的符号文件;

安装符号文件,对于符号文件的安装位置没有特贝要求,可以安装在任何目录中;

设置环境变量,使得调试工具(比如:Visual C++、WinDbg、Ntsd、DrWatson 等)能找到符号文件;

1 2 3 4  下一页

Tags:符号 文件 Windows

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接