【问题标题】:Unable to read crash dump in windbg无法读取 windbg 中的故障转储
【发布时间】:2011-11-17 13:45:15
【问题描述】:

我的程序中出现 stackoverflow 异常,该异常可能源自第三方库 microsoft.sharepoint.client.runtime.dll。

使用adplus 创建故障转储,我面临的问题是,当我在windbg 中打开它时,我很难从中获取任何信息。这是我得到的回应:

> 0:000> .restart /f

Loading Dump File [C:\symbols\FULLDUMP_FirstChance_epr_Process_Shut_Down_DocumentumMigrator.exe__0234_2011-11-17_15-19-59-426_0d80.dmp]
User Mini Dump File with Full Memory: Only application data is available

Comment: 'FirstChance_epr_Process_Shut_Down'
Symbol search path is: C:\symbols
Executable search path is: 
Windows 7 Version 7601 (Service Pack 1) MP (8 procs) Free x64
Product: Server, suite: Enterprise TerminalServer SingleUserTS
Machine Name:
Debug session time: Thu Nov 17 15:19:59.000 2011 (UTC + 2:00)
System Uptime: 2 days 2:44:48.177
Process Uptime: 0 days 0:13:05.000
.........................................WARNING: rsaenh overlaps cryptsp
.................WARNING: rasman overlaps apphelp
......
..WARNING: webio overlaps winhttp
.WARNING: credssp overlaps mswsock
.WARNING: IPHLPAPI overlaps mswsock
.WARNING: winnsi overlaps mswsock
............
wow64cpu!CpupSyscallStub+0x9:
00000000`74e42e09 c3              ret

关于如何从转储中获取更多信息,或者如何使用它来查找我的 stackoverflow 错误发生的位置有什么想法吗?

【问题讨论】:

    标签: windbg adplus


    【解决方案1】:

    您面临的问题是该进程是 32 位的,但您在 64 位上运行,因此您的转储是 64 位转储。要使用转储,您必须运行以下命令:

    .load wow64exts
    .effmach x86
    !analyze -v
    

    最后一个命令应该给你一个有意义的堆栈跟踪。

    【讨论】:

    • 好的,抱歉回复晚了,我发现了问题,但这应该对我有帮助......但你的想法似乎不错
    • 刚才对我有帮助!非常感谢:)
    【解决方案2】:

    此页面提供了许多有用的信息和分析问题的方法。 http://www.dumpanalysis.org/blog/index.php/2007/09/11/crash-dump-analysis-patterns-part-26/

    【讨论】:

      【解决方案3】:

      您没有提及您的代码是托管的还是非托管的。假设它是不受管理的。在调试器中:

      .symfix
      .reload
      ~*kb
      

      查看所有线程的调用堆栈并识别导致 SO 的线程。用 SO 很容易识别线程,因为调用堆栈会特别长。使用命令~<N>s 切换到该线程,其中是线程号,使用命令k 200 转储更多的调用堆栈以转储多达200 行的调用堆栈。在调用堆栈的最底部,您应该能够看到产生嵌套循环的代码。

      如果您的代码是托管的,请使用SOS 扩展来转储调用堆栈。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-12
        相关资源
        最近更新 更多