summaryrefslogtreecommitdiff
path: root/src/Task.cc
diff options
context:
space:
mode:
authorPixel <pixel@nobis-crew.org>2011-11-21 13:27:53 -0800
committerPixel <pixel@nobis-crew.org>2011-11-21 13:27:53 -0800
commite10639753d7dbd368f5edc2555d75c4b5905ba3b (patch)
tree34b6c4bc2990f48de30d26486426558d643e7ac8 /src/Task.cc
parent071e7f07901309a38c8cb5311aaecaa46c0c3542 (diff)
GeneralException() will now trace the callstack and store this, for debugging purposes.
Diffstat (limited to 'src/Task.cc')
-rw-r--r--src/Task.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/Task.cc b/src/Task.cc
index 6a94267..5623698 100644
--- a/src/Task.cc
+++ b/src/Task.cc
@@ -61,6 +61,9 @@ void Balau::Task::coroutine() {
}
catch (GeneralException & e) {
Printer::log(M_WARNING, "Task %s at %p caused an exception: `%s' - stopping.", getName(), this, e.getMsg());
+ std::vector<String> trace = e.getTrace();
+ for (std::vector<String>::iterator i = trace.begin(); i != trace.end(); i++)
+ Printer::log(M_DEBUG, "%s", i->to_charp());
m_status = FAULTED;
}
catch (...) {