diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2019-07-04 15:12:55 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2019-07-05 06:13:40 +0000 |
commit | 8d84e2f2e163bceec8870893d7de55d14174f333 (patch) | |
tree | de36683eb536e04600b049a19ed9c4703cca7c53 /src/tools | |
parent | 29a5ea808258b4deeb4439c0847c4bd9fcd90c60 (diff) |
CrashHandler: Allow enabling per executable
...by specifying the executable names in QTC_USE_CRASH_HANDLER.
Examples:
# enable for all supported executables
QTC_USE_CRASH_HANDLER=1
QTC_USE_CRASH_HANDLER=yes
QTC_USE_CRASH_HANDLER=all
# enable for specific executables
QTC_USE_CRASH_HANDLER=qtcreator,clangbackend
Change-Id: Ie6f1ad001cea077b8b90b89356f597a4c11378b9
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/qtcreatorcrashhandler/crashhandlersetup.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/tools/qtcreatorcrashhandler/crashhandlersetup.cpp b/src/tools/qtcreatorcrashhandler/crashhandlersetup.cpp index 6f1baff4c7..fd24e6b543 100644 --- a/src/tools/qtcreatorcrashhandler/crashhandlersetup.cpp +++ b/src/tools/qtcreatorcrashhandler/crashhandlersetup.cpp @@ -34,6 +34,7 @@ #ifdef BUILD_CRASH_HANDLER #include <QApplication> +#include <QFileInfo> #include <QString> #include <stdlib.h> @@ -95,8 +96,14 @@ CrashHandlerSetup::CrashHandlerSetup(const QString &appName, const QString &executableDirPath) { #ifdef BUILD_CRASH_HANDLER - if (qEnvironmentVariableIsEmpty("QTC_USE_CRASH_HANDLER")) + const QString value = qEnvironmentVariable("QTC_USE_CRASH_HANDLER"); + if (value.trimmed().isEmpty()) return; + if (!QStringList{"1", "all", "yes"}.contains(value)) { + const QString binaryName = QFileInfo(QCoreApplication::applicationFilePath()).fileName(); + if (!value.split(",", QString::SkipEmptyParts).contains(binaryName)) + return; + } appNameC = qstrdup(qPrintable(appName)); |