设置调试符号路径

PDB(Program Database) file是一种最新的用于存贮debug信息的格式文件。
与它的两个“前辈”(COFF和CODEVIEW)不同的是,PDB可以保存所有种类的debug信息,并支持增量链接(incremental link)。此外,PDB文件是以单独文件的形式出现,而COFF和COEDEVIEW两种格式的debug信息是存在执行文件内的。(注:CODEVIEW格式的debug信息也可存于执行文件名,其后缀名为.dbg).
通常在调试时,我们无法获得一些系统DLL的调试符号,这样会让我们对程序运行的细节的了解可能会有一些问题,当然我们可以通过查看反汇编窗口来解决一些问题。但是如果你能够得到这个调试符号,是不是觉得会很爽。呵呵,爽是次要的,重要的是这些调试符号会强化你所需要的线索。要实现这一点,就须要有相应的windows调试符号文件,你可以通过下面的方法获得它:
symsrv*symsrv.dll*d:/localsymbols*http://msdl.microsoft.com/download/symbols
将此句加在项目属性中的[符号路径处](VC++.NET)即可。 其中 f:/localsymbols是你的本地盘路径,请先确保它的存在。完成后,F5进行debug。第一次是时间比较长,这是因为在下载符号库文件。你可以在output窗口中看到一个接一个的符号库被加载……
开始的时候会有些慢,以后就好了
 
另外也可以通过设定环境变量来实现:
环境变量法:
Set _NT_SYMBOL_PATH = symsrv*symsrv.dll*f:/localsymbols*http://msdl.microsoft.com/download/symbols

最后发现一个问题,就是如果我不用symbol可以多看到ntdll.dll的一个压栈,如果用了那么第一个栈就变成kernel32.dll!_BaseProcessStart@4而不是  

kernel32.dll!7c816fd7()  
 ntdll.dll!7c915b4f()  

有谁明白给解释一下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值