C++(Qt)软件调试---将调试工具安装到AeDebug(11)

C++(Qt)软件调试—将调试工具安装到AeDebug(11)

文章目录

  • C++(Qt)软件调试---将调试工具安装到AeDebug(11)
    • 1、前言
      • 1.1 使用的调试工具
    • 2、调试器安装
      • 1.1 WinDbg
      • 1.2 procdump
      • 1.3 DrMinGW
      • 1.4 vsjitdebugger

更多精彩内容
个人内容分类汇总
C++软件调试、异常定位

1、前言

1.1 使用的调试工具

  • WinDbg
  • procdump
  • DrMinGW
  • vsjitdebugger

2、调试器安装

在本文中使用的都是64位调试器,如果需要使用32位调试器直接切换调试器就可以,使用方式是相同的。

1.1 WinDbg

  • 找到WinDbg路径;

    • C:\Program Files\Windows Kits\10\Debuggers\x64路径;
    • 或者使用Everything查找路径;
  • 使用管理员权限打开cmd,进入到WinDbg所在路径下;

    • cd C:\Program Files\Windows Kits\10\Debuggers\x64
  • 使用下列命令将WinDbg安装到AeDebug;

    • windbg.exe -I
  • 如下图所示就是权限不足安装失败,需要使用管理员权限打开cmd:

    C++(Qt)软件调试---将调试工具安装到AeDebug(11)_第1张图片

  • 如下图所示就安装成功了:

    C++(Qt)软件调试---将调试工具安装到AeDebug(11)_第2张图片

  • 打开注册表可发现64位AeDebug已经有WinDbg的指令了:

    C++(Qt)软件调试---将调试工具安装到AeDebug(11)_第3张图片

  • 如图所示,在程序崩溃时会自动打开WinDbg进行调试:

  • 使用WinDbg导出dump文件.dump /md E:\testCrash.dmp

    C++(Qt)软件调试---将调试工具安装到AeDebug(11)_第4张图片

1.2 procdump

  • 下载procdump后,使用管理员权限打开cmd;

  • 使用下列命令安装procdump为事后调试器,在程序崩溃时自动在E:\dump文件夹下生成Full Dump文件;

    • D:\Procdump -ma -i E:\dump
  • 可使用下列命令卸载安装;

    • D:\Procdump -u
  • 如下图所示安装成功:

    C++(Qt)软件调试---将调试工具安装到AeDebug(11)_第5张图片

  • 程序崩溃时自动生成dump文件:

    C++(Qt)软件调试---将调试工具安装到AeDebug(11)_第6张图片

1.3 DrMinGW

  • 下载DrMinGW后,使用管理员权限打开cmd;

  • 使用下列命令安装drmingw为事后调试器,在程序崩溃时自动打开drmingw并定位到异常位置;

    • D:\drmingw\bin\drmingw.exe -i
  • 使用下列命令可用卸载安装:

    • D:\drmingw\bin\drmingw.exe -u
  • 安装成功如下图所示:

    C++(Qt)软件调试---将调试工具安装到AeDebug(11)_第7张图片

  • 效果演示:

1.4 vsjitdebugger

  • 打开Visual Studio;

  • 选择【调试】->【选项】->【调试】->【实时】,勾选三个复选框;

    C++(Qt)软件调试---将调试工具安装到AeDebug(11)_第8张图片

  • 如果安装了其它事后调试器,会提示需要重启,直接重启就可以;

    C++(Qt)软件调试---将调试工具安装到AeDebug(11)_第9张图片

  • Visual Studio重启后再次选择【调试】->【选项】->【调试】->【实时】,勾选三个复选框;

  • 打开注册表,查看AeDebug,可看出已经更新为使用vsjitdebugger进行调试了;

    C++(Qt)软件调试---将调试工具安装到AeDebug(11)_第10张图片

  • 效果演示:

  • 使用vsjitdebugger导出dump文件;

    • 选择【调试】->【将转储另存为】;

    C++(Qt)软件调试---将调试工具安装到AeDebug(11)_第11张图片

你可能感兴趣的:(#,C++软件调试,c++,软件调试,AeDebug,Windbg)