• Windbg分析DMP文件


    1、提取Dump格式文件

      有两种方式:

         第一种,程序崩溃时,启动任务管理器,选择崩溃的*.exe进程,右键选择创建转储文件,通过 开始—运行—输入 %temp% --确定--在打开Temp窗口中即可找到*.dmp文件。

         第二种,通过windbg生成dump 文件。

         步骤:
             1) 打开Windbg并将之Attach 到crash的程序进程
             2) 输入产生dump 文件的命令
              Windbg产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。
              选项(1): /m
        命令行示例:.dump /m C:dumps*.dmp
        注解: 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。 这种文件的信息量较少,

           只包含系统信息、加载的模块(DLL)信息、 进程信息和线程信息。
        选项(2): /ma
        命令行示例:.dump /ma C:dumps*.dmp
        注解: 带有尽量多选项的minidump(包括完整的内存内容、句柄、未加载的模块,等等),文件很大(第一种方法产生的DMP文件

           大小与此相同),但如果条件允许(本机调试,局域网环境), 推荐使用这中dump。
        选项(3):/mFhutwd
        命令行示例:.dump /mFhutwd C:dumps*.dmp
        注解:带有数据段、非共享的读/写内存页和其他有用的信息的minidump。包含了通过minidump能够得到的最多的信息。是一种折中方案。

    2、  打开Dump格式文件 

      打开WinDbg,通过菜单[File] à [Open Crash dump] 选择dump文件打开,也可通过CMD打开Dos命令窗口,切换到WinDbg所在目录,利用命令:

      WinDbg –z “D:/Lines2009-7-25-22-20-33-900.dmp”,-z表示路径。 

    3、  分析Dump格式文件

      通过WinDbg菜单[File] -》 [Symbol File path]、[Source File Path] 、[Image File path]分别设置PDB文件路径、源代码路径和可执行文件的路径。

      基本调试命令:

        r ------可以显示系统崩溃时的寄存器和最后的命令状态;

        dd----显示当前内存地址;

        dd参数--显示参数处的内存;

        u---- 显示反汇编的指令;

        ! analyze -v -------显示分析的详细信息;

        kb---显示call stack内容

        kv.bugcheck----显示出错的代码 

  • 相关阅读:
    Document
    Document
    Document
    Document
    Document
    Document
    Document
    Document
    8.React 组件封装
    window.location / history / 以及相关事件
  • 原文地址:https://www.cnblogs.com/smilenana/p/3414169.html
Copyright © 2020-2023  润新知