mirror of
https://github.com/QuasarApp/CQtDeployer.git
synced 2025-04-27 02:04:33 +00:00
added support of print stack trace on crash
This commit is contained in:
parent
6480b8ffa0
commit
c7c51e808c
@ -14,9 +14,28 @@
|
|||||||
#include <QList>
|
#include <QList>
|
||||||
#include <deploy.h>
|
#include <deploy.h>
|
||||||
|
|
||||||
|
#include <signal.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <execinfo.h>
|
||||||
|
|
||||||
|
void handler(int sig) {
|
||||||
|
void *array[10];
|
||||||
|
size_t size;
|
||||||
|
|
||||||
|
// get void*'s for all entries on the stack
|
||||||
|
size = backtrace(array, 10);
|
||||||
|
|
||||||
|
// print out all the frames to stderr
|
||||||
|
fprintf(stderr, "Error: signal %d:\n", sig);
|
||||||
|
backtrace_symbols_fd(array, size, STDERR_FILENO);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, const char *argv[]) {
|
int main(int argc, const char *argv[]) {
|
||||||
|
|
||||||
|
signal(SIGSEGV, handler); // install our handler
|
||||||
|
|
||||||
|
|
||||||
QCoreApplication::setOrganizationName("QuasarApp");
|
QCoreApplication::setOrganizationName("QuasarApp");
|
||||||
QCoreApplication::setOrganizationDomain("https://github.com/QuasarApp");
|
QCoreApplication::setOrganizationDomain("https://github.com/QuasarApp");
|
||||||
QCoreApplication::setApplicationName("CQtDeployer");
|
QCoreApplication::setApplicationName("CQtDeployer");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user