diff options
author | Pixel <pixel@nobis-crew.org> | 2011-11-21 13:27:53 -0800 |
---|---|---|
committer | Pixel <pixel@nobis-crew.org> | 2011-11-21 13:27:53 -0800 |
commit | e10639753d7dbd368f5edc2555d75c4b5905ba3b (patch) | |
tree | 34b6c4bc2990f48de30d26486426558d643e7ac8 /src/Task.cc | |
parent | 071e7f07901309a38c8cb5311aaecaa46c0c3542 (diff) |
GeneralException() will now trace the callstack and store this, for debugging purposes.
Diffstat (limited to 'src/Task.cc')
-rw-r--r-- | src/Task.cc | 3 |
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 (...) { |