• C++(Qt)软件调试---自动注册AeDebug(17)


    C++(Qt)软件调试—自动注册AeDebug(17)

    1、什么是AeDebug

    AeDebug是Windows操作系统自带的一个调试工具,用于帮助开发人员进行应用程序的调试和错误定位。

    当应用程序发生异常或崩溃时,AeDebug可以自动启动调试器,并为开发人员提供相关的错误信息和调试信息,以帮助开发人员快速定位和解决问题。

    在Windows操作系统中,可以使用注册表编辑器来修改AeDebug的设置

    AeDebug通常用于以下方面:

    调试应用程序:AeDebug可以帮助开发人员快速定位应用程序的错误和问题,并进行调试和修复。
    分析应用程序崩溃:AeDebug可以捕获应用程序的崩溃信息,并为开发人员提供相关的调试信息和错误信息,以帮助开发人员分析崩溃原因。
    跟踪应用程序运行:AeDebug可以帮助开发人员跟踪应用程序的运行状态,并记录相关的调试信息和错误信息。
    总之,AeDebug是一个非常有用的调试工具,可以帮助开发人员快速定位和解决应用程序的错误和问题。

    如果您是Windows应用程序的开发人员,建议您掌握AeDebug工具的使用方法,以便更好地进行应用程序的调试和错误定位。

    • 在之前的文章中讲了什么是AeDebug,为什么要用AeDebug和怎么手动修改AeDebug,但是手动修改比较麻烦,基本上支持AeDebug的调试器都可以支持自动注册,这次会统一讲解。

    2、使用调试工具

    本文中使用到的调试工具如下:

    3、WinDbg注册到AeDebug

    • 找到自己的WinDbg;(如果不知道在哪可以使用Everything搜索,最新版本叫WinDbgX)

      在这里插入图片描述

    • 找到并复制路径;(这里我使用的是最新版的演示,所以路径为C:\Users\MHF\AppData\Local\Microsoft\WindowsApps

    • 使用管理员模式打开cmd;

    • 使用cd 命令进入到WinDbg所在路径;

    • 输入命令WinDbgX.exe -I,然后回车将WinDbg注册到AeDebug;

    • 弹出WinDbg窗口如下就注册成功了;

      在这里插入图片描述

    • 然后随便创建一个Qt工程,编写一段空指针代码,使用MSVC编译器编译运行;(MinGw不支持)

      在这里插入图片描述

    • 当程序崩溃后就会自动触发AeDebug,打开WinDbg,如图所示;

      在这里插入图片描述

    • 然后鼠标点击出现问题的堆栈就可以定位到异常位置;

      在这里插入图片描述

    4、ProcDump注册到AeDebug

    • 下载ProcDump;
    • 使用管理员打开cmd;
    • 进入到procDump所在路径;
    • 使用命令procdump -ma -i E:\dumps可以安装ProcDump作为(AeDebug)后期调试程序,在程序崩溃是将生成的Dump文件全部放到E:\dumps文件夹下;(并不会想WinDbg一样弹出调试窗口)

    5、Dr.MinGW注册到AeDebug

    • 下载Dr.MinGW;
    • 使用管理员打开cmd;
    • 进入到Dr.MinGW所在路径;
    • 使用命令drmingw -i 将dr.MinGw注册到AeDebug,在程序崩溃时会自动弹出堆栈状态显示窗口;
    • 注意:Dr.MinGW支持显示MinGW编译器和MSVC编译器编译的程序堆栈,并且只是显示堆栈,功能简单容易上手,不想WinDbg那样复杂。

    6、Visual Studio 注册到AeDebug

    • 打开Visual Studio ;

    • 点击【调试】->【选项】->【实时】;

      在这里插入图片描述

    • 勾选【本机】,点击【确定】,有时候会提示需要重启Visual Studio ;

    在这里插入图片描述

    • 在重启Visual Studio 后重新打开,然后勾选【本机】,再点击【确定】就完成注册到AeDebug了;

    {__/}
    (̷ ̷´̷ ̷^̷ ̷`̷)̷◞~❤
    | ⫘ |

  • 相关阅读:
    【小沐学Unity3d】3ds Max 多维子材质编辑(Multi/Sub-object)
    Seata 分布式事务框架
    如何使用MATLAB写测试(3)combinatorial explosion? 参数化!
    【python】python制作 连连看 游戏脚本(四)
    【java毕业设计】 基于Spring Boot+mysql的社区团购系统设计与实现(程序源码)-社区团购系统
    Jquery常用操作总结
    使用三重损失和孪生神经网络训练大型类目的嵌入表示
    【NumPy基础(04)广播机制与数组运算基本规则】
    【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群
    Android Camera2 SessionConfiguration介绍和使用
  • 原文地址:https://blog.csdn.net/qq_43627907/article/details/134300374