RabbitCommon v2.3.3
Loading...
Searching...
No Matches
StackTrace.h
1// Copyright Copyright (c) Kang Lin studio, All Rights Reserved
2// Author Kang Lin <kl222@126.com>
3
4#ifndef STACKTRACE_H
5#define STACKTRACE_H
6
7#pragma once
8
9#include <QObject>
10
11namespace RabbitCommon {
12
16class CCallTrace : public QObject
17{
18 Q_OBJECT
19
20public:
26 explicit CCallTrace(QObject *parent = nullptr);
27
28 QString GetStack(uint index
29#if defined(Q_OS_WIN)
30 = 3
31#else
32 = 5
33#endif
34 );
35
36#ifdef HAVE_RABBITCOMMON_GUI
37public:
44 void ShowCoreDialog(QString szTitle, QString szContent,
45 QString szDetail, QString szCoreDumpFile);
46private Q_SLOTS:
47 void slotShowCoreDialog(QString szTitle, QString szContent,
48 QString szDetail, QString szCoreDumpFile);
49Q_SIGNALS:
50 void sigShowCoreDialog(QString szTitle, QString szContent,
51 QString szDetail, QString szCoreDumpFile);
52#endif //#ifdef HAVE_RABBITCOMMON_GUI
53
54private:
55 QStringList GetStack(uint index, unsigned int max_frames);
56
57private:
58 Qt::HANDLE m_hMainThread;
59};
60
61} // namespace RabbitCommon {
62
63#endif // CALLSTACK_H
Get call stack.
Definition StackTrace.h:17
CCallTrace(QObject *parent=nullptr)