diff options
author | Robert Griebl <robert.griebl@pelagicore.com> | 2020-02-06 18:43:19 +0100 |
---|---|---|
committer | Robert Griebl <robert.griebl@qt.io> | 2020-02-11 20:54:52 +0100 |
commit | 08143e670aea28fd6758fe8ae8186d1b66f6ab99 (patch) | |
tree | 4caee8c0397e0514d94e261cf9853aebeca4bddf /application-manager.pro | |
parent | ae18e41a739659fa46efe8891a049ad890958138 (diff) | |
download | qtapplicationmanager-08143e670aea28fd6758fe8ae8186d1b66f6ab99.tar.gz |
Add a Windows crash handler for MSVC And MinGW
Backtraces are not supported on MinGW at the moment, because StackWalker
doesn't compile due to a missing dbghelp import library.
Also improved the async-safety of output functions. On the Linux side, I
noticed a lot of dead-locks and crashes while generating the backtrace lately.
In addition, the getOutputInformation kitchen-sink function has been
split up a bit and moved to the logging.cpp where it logically belongs.
Change-Id: I354c0e4e212a247338faddb6e15d8d0831852086
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
Diffstat (limited to 'application-manager.pro')
-rw-r--r-- | application-manager.pro | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/application-manager.pro b/application-manager.pro index 75bc665c..df058da1 100644 --- a/application-manager.pro +++ b/application-manager.pro @@ -52,6 +52,13 @@ linux:!android:!disable-libbacktrace:if(enable-libbacktrace|CONFIG(debug, debug| check_libbacktrace = "no" } +windows:msvc:!disable-stackwalker:if(enable-stackwalker|CONFIG(debug, debug|release)|debug_and_release) { + check_stackwalker = "yes" + SUBDIRS += 3rdparty/stackwalker/stackwalker.pro +} else { + check_stackwalker = "no" +} + !tools-only: SUBDIRS += doc load(qt_parts) @@ -100,7 +107,8 @@ printConfigLine("Crypto backend", $$check_crypto, auto) printConfigLine("SSDP support", $$yesNo(qtHaveModule(pssdp)), auto) printConfigLine("Shellserver support", $$yesNo(qtHaveModule(pshellserver)), auto) printConfigLine("Genivi support", $$yesNo(qtHaveModule(geniviextras)), auto) -printConfigLine("libbacktrace support", $$check_libbacktrace, auto) +unix:printConfigLine("libbacktrace support", $$check_libbacktrace, auto) +windows:printConfigLine("StackWalker support", $$check_stackwalker, auto) printConfigLine("Systemd workaround", $$yesNo(CONFIG(systemd-workaround)), auto) printConfigLine("System libarchive", $$yesNo(config_libarchive:!no-system-libarchive), auto) printConfigLine("System libyaml", $$yesNo(config_libyaml:!no-system-libyaml), auto) |