diff options
author | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2015-02-11 17:26:26 +0100 |
---|---|---|
committer | Benjamin Paassen <bpaassen@techfak.uni-bielefeld.de> | 2015-02-11 17:26:26 +0100 |
commit | 5659292bf1a317235a51a946df640376f325b124 (patch) | |
tree | c48a8de86757856d30cf8f7a898aae67ac7c53e6 /src/core | |
parent | 20c7aa703bf0be2744f1578d4e6c2044c15a51c0 (diff) |
manager formatting stuff.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/managed/Manager.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/core/managed/Manager.cpp b/src/core/managed/Manager.cpp index 859e5ec..694587f 100644 --- a/src/core/managed/Manager.cpp +++ b/src/core/managed/Manager.cpp @@ -123,6 +123,12 @@ Manager::~Manager() // Perform a final sweep sweep(); +#ifdef MANAGER_GRAPHVIZ_EXPORT + if (!objects.empty()) { + exportGraphviz("manager_crashdump.dot"); + } +#endif + // All objects should have been deleted! assert(objects.empty()); @@ -220,10 +226,11 @@ void Manager::deleteRef(Managed *tar, Managed *src, bool all) #ifdef MANAGER_DEBUG_HIDDEN_ROOTED if (deletionRecursionDepth > 0 && src == 0) { - std::cerr << "\x1b[41;30mManager:\x1b[0m A managed object contains a rooted reference, " + std::cerr << "\x1b[41;30mManager:\x1b[0m A managed object contains a " + "rooted reference, " "this may cause memory leaks!" << std::endl; - std::cerr << "\x1b[41;30mManager:\x1b[0m Referenced object is " << tar << " of type " - << tar->type()->name << std::endl; + std::cerr << "\x1b[41;30mManager:\x1b[0m Referenced object is " << tar + << " of type " << tar->type()->name << std::endl; } #endif @@ -635,7 +642,8 @@ void Manager::exportGraphviz(const char *filename) // Print the label fs << "\t\tlabel=<" << "<TABLE BORDER=\"0\" CELLBORDER=\"1\" CELLSPACING=\"0\">" - << "<TR><TD>" << std::hex << std::showbase << p << "</TD></TR>" + << "<TR><TD>" << std::hex << std::showbase << p << " (" + << getUid(objectPtr) << ")</TD></TR>" << "<TR><TD><I>" << typeName << "</I></TD></TR>"; // Print any name |