juventus
驱动牛犊
驱动牛犊
  • 注册日期2003-06-23
  • 最后登录2009-07-02
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1143回复:4

请问符号文件在没有源文件存在的时候有什么用?

楼主#
更多 发布于:2003-08-20 15:01
请问符号文件在没有源文件存在的时候有什么用?
个人以为没有什么用吧?

另外,所谓的操作系统的调试文件我只能装上*.pdb文件
而*.bdg装不上(time stamp不符),我看到书上说
*.bdg文件是用来调试操作系统的时候有用的,是否
在驱动开发调试过程中没什么用?

谢谢
请各位明白的给个明白的答案
ysr
ysr
驱动牛犊
驱动牛犊
  • 注册日期2001-05-11
  • 最后登录2015-01-29
  • 粉丝0
  • 关注0
  • 积分79分
  • 威望48点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-21 11:49
dbg文件和pdb文件是一一对应的,调试工具在解析pdb文件时要用到dbg文件,这两个文件中有时间戳信息来表明它们是否匹配。虽然我们不太可能有WINDOWS的原代码,但是符号文件在我们调试程序的时候有很大帮助,比如程序出错时通过对符号文件的解析可以很清楚地显示调用堆栈,如果没有相应的符号文件,那就只能显示一堆不容易理解的数字。另外,有了符号文件我们可以很方便的做一些逆向工程的学习,如反汇编某个函数。
juventus
驱动牛犊
驱动牛犊
  • 注册日期2003-06-23
  • 最后登录2009-07-02
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-21 11:59
首先谢谢指教
按照你的说法,我只安装了一种符号文件,是不是没什么用?
其实的确在/symbols目录下有一一对应的两种文件,只是
我启动WinDbg时,说*.pdb文件load成功,而*.bdg文件的time stamp
不对,所以没有load
这种问题你有没有碰到过?可不可以谈一下?
ysr
ysr
驱动牛犊
驱动牛犊
  • 注册日期2001-05-11
  • 最后登录2015-01-29
  • 粉丝0
  • 关注0
  • 积分79分
  • 威望48点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-22 11:31
NT 4.0的符号文件就只有dbg,pdb是2K引进的。实际上,在调试我们自己在2K下开发的驱动时,有pdb文件就可以了。
至于你说的现象我还没碰到,涉及到调试文件格式的问题,而这都没有文档化。我想有可能是符号文件与系统程序不匹配的原因,不知道你有没有安装相应的service packet symbols。最保险的办法是把微软的符号文件服务器设在你的符号文件路径中,它会自动搜索合适的符号文件。
juventus
驱动牛犊
驱动牛犊
  • 注册日期2003-06-23
  • 最后登录2009-07-02
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-22 12:32
谢谢!
我没有装那个东西
游客

返回顶部