added support of print stack trace on crash

This commit is contained in:
Andrei Yankovich 2020-09-09 12:28:45 +03:00
parent 6480b8ffa0
commit c7c51e808c

View File

@ -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");