Windows Symbol Files
1.什么是Symbol File?
Symbol files hold a variety of data which are not actually needed when running the binaries(Dll,EXE...), but which could be very useful in the debugging process(It's a good partner for VC6++ and WinDbg).
通俗的说,Symbol File是包含了相关二进制文件(EXE,DLL)调试信息的一种文件,它以.pdb为扩展名,比如WinXP下有一个GDI32.dll,那么微软在编译该DLL的时候会产生一个GDI32.pdb文件,程序员有了这个PDB文件愿意的话就可以用它来调试,跟踪到GDI32.dll的内部去!
该文件和二进制文件的编译版本密切相关,比如你修改了DLL的输出函数等,再编译该DLL那么原先的PDB文件就过时了,不能再胜任调试的重担了,这时候你需要的是修改后编译产生的PDB文件.
大家在用VC6编译的时候会发现PDB文件会存在于Debug/Release目录下(关于如何产生Release版本的PDB请参看4.如何在VC6++中编译产生Release版本的二进制文件的PDB文件?).
Typically, symbol files might contain:
1.全局变量(Global variables)
2.局部变量(Local variables)
3.函数名和它们的入口地址(Function names and the addresses of their entry points)
4.FPO data(frame pointer omission),frame pointer是一种用来在调用堆栈(Call stack)中找到下一