让Visual Studio载入Symbol(pdb)文件
来源:互联网 发布:自动下单软件 编辑:程序博客网 时间:2024/05/21 11:07
让Visual Studio载入Symbol(pdb)文件
在VC编译工程的编译连接阶段,会产生Symbol文件,也就是常说的 pdb 文件。pdb 的全称为 program database,在 MSDN 中的解释为,pdb 文件是一个在编译和链接阶段产生的,包含了类型和调试符号信息的二进制文件。pdb 文件中包含了各个函数的符号表,也是进行 WinDbg 调试必不可少的文件。
既然 pdb 文件是给调试器使用的,那么 Visual Studio 调试器也就可以使用之。通过如下设置,Visual Studio 便可以在调试过程中加载 pdb 文件了。
Tools --> Options --> Debugging。
在“Symbol file (.pdb) locations:”下面的控件中输入微软默认 pdb 文件的下载路径“http://www.microsoft.com/whdc/devtools/downloads.mspx”。
在“Cache symbols from symbol servers to this directory:”下的编辑框中输入本地保存路径,如:D:/WinSymbols/MsDownSymbols。
下面两个 CheckBox 的意思分别为:
“Search the above locations only when symbols are loaded manually”。
调试器仅仅载入手动载入的 Symbol。勾上此选项,调试速度会更快,但 pdb 载入相对较少,调试信息较少,建议不勾选。
“Load symbols using the updated settings when the dialog is closed”
对话框关闭后,立刻加载符号表。勾上此选项可以立刻看到效果,调试速度当然会稍微慢一点,建议勾选。
点击 OK 关闭对话框,设置便生效了。
如图所示:
设置过了,当然要看看效果啦。
我们先看看正常情况下 CallStack 的状态,建立一个普通 Win32 程序,在InitInstance入口下个断点,F5开启调试,在 CallStack 窗口如下显示:
我们可以看到,在最下面两行中,信息是灰掉的,kernel32.dll中那个函数调用了我们的wWinMainCRTStartup也看不到,进程最开始由哪个函数创建也看不到。
现在看看设置了 Symbol 时 CallStack 的状态,建立一个普通 Win32 程序,在InitInstance入口下个断点,F5开启调试,在 CallStack 窗口如下显示:
我们可以看到,程序是由kernel32.dll中的导出函数“_BaseProcessStart”开始的,_BaseProcessStart调用了我们的wWinMainCRTStartup函数,然后程序就运行起来了。
当然设置 Symbol 的用处远远不止这些,其余的就等您慢慢发现。
注:设置 Symbol 之后,调试速度会慢下来,如果无需知道系统函数是如何调用的,建议调试时不设置 Symbol。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xt_xiaotian/archive/2010/03/16/5384111.aspx
- 让Visual Studio载入Symbol(pdb)文件
- 让Visual Studio载入Symbol(pdb)文件
- 让Visual Studio载入Symbol(pdb)文件
- 让Visual Studio载入Symbol(pdb)文件
- 让Visual Studio载入Symbol(pdb)文件
- visual studio 调试需要pdb文件
- Visual Studio编译出来的pdb文件有什么价值
- OpenCV:Visual Studio "无法查找或打开PDB文件"解决方法
- Visual Studio "无法查找或打开PDB文件"解决方法
- visual studio .net c++ 无法查找或打开 PDB 文件。
- visual studio2008 pdb文件
- Visual Studio 不生成.vshost.exe和.pdb文件的方法
- Visual Studio 不生成.vshost.exe和.pdb文件的方法
- visual studio 2012 debug "Symbol Loading...."
- visual studio 编译问题unresolved external symbol
- 在 Microsoft Symbol Server 上定位 PDB 文件
- 让VA和Visual studio支持*.cu文件
- 让Visual Studio支持Boost ipp 文件语法高亮
- 精通Unix下C语言之文件系统结构
- 想成为嵌入式系统工程师应知道的0x10个最基本的问题
- 解析Extern
- 一个DSP高手的成长之路
- hdu1800 Flying to the Mars(map)
- 让Visual Studio载入Symbol(pdb)文件
- ListView绑定数据
- 做技术有前途吗?一位老工程师给年轻人的“十大忠告”
- Statistics Auto Update
- 如何选择嵌入式教学系统
- 如何修改安装包程序的产品描述和版权信息
- 技术人员的明天:35岁后我们做什么?
- Hadoop 的lzo压缩尝试
- 最近很累