diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-01-18 16:05:18 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2017-01-18 16:05:18 +0100 |
commit | adfaf8c33ccc3976aa2a0109b7d54b87efdbbfe1 (patch) | |
tree | 6a1c364632e1b78c457712db309d354e11598a87 /synchronizer | |
parent | 5df6dae529a62e8cf6bf7d9d61a18d88bf8af4db (diff) | |
download | sink-adfaf8c33ccc3976aa2a0109b7d54b87efdbbfe1.tar.gz sink-adfaf8c33ccc3976aa2a0109b7d54b87efdbbfe1.zip |
gdb mode that can be used to attach a debugger
Diffstat (limited to 'synchronizer')
-rw-r--r-- | synchronizer/main.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/synchronizer/main.cpp b/synchronizer/main.cpp index 7b9165e..b228248 100644 --- a/synchronizer/main.cpp +++ b/synchronizer/main.cpp | |||
@@ -136,10 +136,16 @@ void terminateHandler() | |||
136 | 136 | ||
137 | int main(int argc, char *argv[]) | 137 | int main(int argc, char *argv[]) |
138 | { | 138 | { |
139 | // For crashes | 139 | const bool gdbDebugMode = qEnvironmentVariableIsSet("SINK_GDB_DEBUG"); |
140 | std::signal(SIGSEGV, crashHandler); | 140 | if (gdbDebugMode) { |
141 | std::signal(SIGABRT, crashHandler); | 141 | SinkWarning() << "Running resource in debug mode and waiting for gdb to attach: gdb attach " << getpid(); |
142 | std::set_terminate(terminateHandler); | 142 | raise(SIGSTOP); |
143 | } else { | ||
144 | // For crashes | ||
145 | std::signal(SIGSEGV, crashHandler); | ||
146 | std::signal(SIGABRT, crashHandler); | ||
147 | std::set_terminate(terminateHandler); | ||
148 | } | ||
143 | 149 | ||
144 | QCoreApplication app(argc, argv); | 150 | QCoreApplication app(argc, argv); |
145 | app.setQuitLockEnabled(false); | 151 | app.setQuitLockEnabled(false); |