none
调试应用程序提示的信息,帮忙看下吧,谢谢 RRS feed

  • 问题

  • 我用windbg调试的应用程序,出现(f74.25c):Break instruction exception - code 80000003(first chance)
    error:Symbol file could not be found. Defaulted to  export symbols for ntdll.dll - ntdll!dbgBreakPoint:
    7c921220e cc int  3
    0:000>g

    MFC42D!CWnd::ShowWindow+0xd:
    5f3913c 8b4820 mov  ecx,dword ptr [eax+20h] ds:0023:00000020 = ????????
    Missing image name,possible paged-out or corrupt data
    这些信息告诉了错误在哪里了吗?我看不明白,帮忙看看吧,谢谢
    2009年12月23日 10:46

答案

  • 上面的问题主要是由于,没有对应的符号表造成的。 所谓符号表,就是.pdb 文件。 编译器在编译程序时,C++编译器会把变量名改为一个地址,而这个.pdb 符号表文件就是用来保存变量信息和地址映射关系的。当然pdb 文件不仅仅保存这些,还有别的信息。

    若想为windbg 配置符号表信息,可照此办理:
    File->Symbol File Path-> 添加内容:SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols 其中C:\Symbols 是你本地缓存符号表文件的路径,*号不可省略。 完成后在关闭Windbg 时选择save workspace。

     
    请参考:
    http://support.microsoft.com/default.aspx/kb/311503/zh-cn

    http://www.microsoft.com/whdc/DevTools/Debugging/debugstart.mspx
    • 已标记为答案 anmy 2009年12月24日 1:53
    2009年12月23日 13:35
    版主

全部回复

  • 上面的问题主要是由于,没有对应的符号表造成的。 所谓符号表,就是.pdb 文件。 编译器在编译程序时,C++编译器会把变量名改为一个地址,而这个.pdb 符号表文件就是用来保存变量信息和地址映射关系的。当然pdb 文件不仅仅保存这些,还有别的信息。

    若想为windbg 配置符号表信息,可照此办理:
    File->Symbol File Path-> 添加内容:SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols 其中C:\Symbols 是你本地缓存符号表文件的路径,*号不可省略。 完成后在关闭Windbg 时选择save workspace。

     
    请参考:
    http://support.microsoft.com/default.aspx/kb/311503/zh-cn

    http://www.microsoft.com/whdc/DevTools/Debugging/debugstart.mspx
    • 已标记为答案 anmy 2009年12月24日 1:53
    2009年12月23日 13:35
    版主
  • 哦 ,好的 ,谢谢您!
    2009年12月24日 1:37