DAWorkbench 0.0.1
DAWorkbench API
载入中...
搜索中...
未找到
DA::DADumpCapture类 参考

Dump文件捕获类 更多...

#include <DADumpCapture.h>

静态 Public 成员函数

static FpPreposeDump getPreposeDumpFunc ()
 获取前置处理函数指针
 
static FpPostDump getPostDumpFunc ()
 获取后置处理函数指针
 
static void initDump (FpPreposeDump fpPre=nullptr, FpPostDump fpPost=nullptr)
 初始化dump捕获
 
static bool isInitialized ()
 检查是否已初始化
 
static QString getDefaultDumpDirectory ()
 获取默认dump目录
 
static void cleanupOldDumps (int daysToKeep=7, const QString &directory=QString())
 清理旧的dump文件
 

详细描述

Dump文件捕获类

该类用于捕获应用程序的崩溃异常,并生成dump文件和相关信息文件。

// 基本使用方法:
// 自定义dump文件路径:
DA::DADumpCapture::initDump([]() -> QString {
return "C:/MyApp/dumps/crash_" + QDateTime::currentDateTime().toString("yyyyMMdd_hhmmss") + ".dmp";
});
// 自定义前后处理函数:
[]() -> QString {
return DA::DADumpCapture::getDefaultDumpDirectory() + "/myapp_crash.dmp";
},
[](const QString& dumpPath, bool success) {
if (success) {
QMessageBox::critical(nullptr, "错误", "程序发生异常,已生成dump文件:" + dumpPath);
}
}
);
// 清理7天前的dump文件:
// 清理指定目录的dump文件:
static QString getDefaultDumpDirectory()
获取默认dump目录
Definition DADumpCapture.h:195
static void cleanupOldDumps(int daysToKeep=7, const QString &directory=QString())
清理旧的dump文件
Definition DADumpCapture.h:224
static void initDump(FpPreposeDump fpPre=nullptr, FpPostDump fpPost=nullptr)
初始化dump捕获
Definition DADumpCapture.h:132

成员函数说明

◆ cleanupOldDumps()

static void DA::DADumpCapture::cleanupOldDumps ( int  daysToKeep = 7,
const QString &  directory = QString() 
)
inlinestatic

清理旧的dump文件

删除指定天数之前的dump文件和相关信息文件,用于清理历史文件释放磁盘空间。

参数
daysToKeep保留天数,小于该天数的文件将被删除
directory要清理的目录路径,如果为空则使用默认dump目录
// 清理默认目录中7天前的文件
// 清理指定目录中30天前的文件
// 清理自定义目录中15天前的文件
DA::DADumpCapture::cleanupOldDumps(15, QApplication::applicationDirPath() + "/crash_logs");

◆ getDefaultDumpDirectory()

static QString DA::DADumpCapture::getDefaultDumpDirectory ( )
inlinestatic

获取默认dump目录

返回
默认的dump文件保存目录路径
qDebug() << "默认dump目录:" << defaultDir;

◆ getPostDumpFunc()

static FpPostDump DA::DADumpCapture::getPostDumpFunc ( )
inlinestatic

获取后置处理函数指针

返回
后置处理函数指针

◆ getPreposeDumpFunc()

static FpPreposeDump DA::DADumpCapture::getPreposeDumpFunc ( )
inlinestatic

获取前置处理函数指针

返回
前置处理函数指针

◆ initDump()

static void DA::DADumpCapture::initDump ( FpPreposeDump  fpPre = nullptr,
FpPostDump  fpPost = nullptr 
)
inlinestatic

初始化dump捕获

注册异常处理函数,当程序发生崩溃时会自动生成dump文件和相关信息文件。

参数
fpPre前置处理函数指针,用于返回dump文件的保存路径,如果为nullptr则使用默认路径
fpPost后置处理函数指针,在dump文件创建完成后调用,可用于通知用户等操作
// 使用默认配置
// 自定义路径和回调
[]() -> QString { // 自定义路径
return QApplication::applicationDirPath() + "/logs/dump.dmp";
},
[](const QString& path, bool success) { // 创建完成后的回调
if (success) {
qDebug() << "Dump文件已创建:" << path;
}
}
);

◆ isInitialized()

static bool DA::DADumpCapture::isInitialized ( )
inlinestatic

检查是否已初始化

返回
如果已初始化返回true,否则返回false

该类的文档由以下文件生成: