aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/debug-channels.h11
-rw-r--r--common/debug.cpp11
-rw-r--r--gui/debugger.cpp14
3 files changed, 29 insertions, 7 deletions
diff --git a/common/debug-channels.h b/common/debug-channels.h
index 83f416a3b8..1414a1053a 100644
--- a/common/debug-channels.h
+++ b/common/debug-channels.h
@@ -95,8 +95,6 @@ public:
*/
bool disableDebugChannel(const String &name);
-
-
typedef List<DebugChannel> DebugChannelList;
/**
@@ -106,6 +104,15 @@ public:
*/
DebugChannelList listDebugChannels();
+ /**
+ * Enable all debug channels.
+ */
+ void enableAllDebugChannels();
+
+ /**
+ * Disable all debug channels.
+ */
+ void disableAllDebugChannels();
/**
* Test whether the given debug channel is enabled.
diff --git a/common/debug.cpp b/common/debug.cpp
index 58cc0287a8..b8c345e4f0 100644
--- a/common/debug.cpp
+++ b/common/debug.cpp
@@ -85,7 +85,6 @@ bool DebugManager::disableDebugChannel(const String &name) {
}
}
-
DebugManager::DebugChannelList DebugManager::listDebugChannels() {
DebugChannelList tmp;
for (DebugChannelMap::iterator i = gDebugChannels.begin(); i != gDebugChannels.end(); ++i)
@@ -95,6 +94,16 @@ DebugManager::DebugChannelList DebugManager::listDebugChannels() {
return tmp;
}
+void DebugManager::enableAllDebugChannels() {
+ for (DebugChannelMap::iterator i = gDebugChannels.begin(); i != gDebugChannels.end(); ++i)
+ enableDebugChannel(i->_value.name);
+}
+
+void DebugManager::disableAllDebugChannels() {
+ for (DebugChannelMap::iterator i = gDebugChannels.begin(); i != gDebugChannels.end(); ++i)
+ disableDebugChannel(i->_value.name);
+}
+
bool DebugManager::isDebugChannelEnabled(uint32 channel) {
// Debug level 11 turns on all special debug level messages
if (gDebugLevel == 11)
diff --git a/gui/debugger.cpp b/gui/debugger.cpp
index 4d97338b9c..21d49774af 100644
--- a/gui/debugger.cpp
+++ b/gui/debugger.cpp
@@ -542,9 +542,12 @@ bool Debugger::cmdDebugFlagsList(int argc, const char **argv) {
bool Debugger::cmdDebugFlagEnable(int argc, const char **argv) {
if (argc < 2) {
- debugPrintf("debugflag_enable <flag>\n");
+ debugPrintf("debugflag_enable [<flag> | all]\n");
} else {
- if (DebugMan.enableDebugChannel(argv[1])) {
+ if (Common::String(argv[1]) == "all") {
+ debugPrintf("Enabled all debug flags\n");
+ DebugMan.enableAllDebugChannels();
+ } else if (DebugMan.enableDebugChannel(argv[1])) {
debugPrintf("Enabled debug flag '%s'\n", argv[1]);
} else {
debugPrintf("Failed to enable debug flag '%s'\n", argv[1]);
@@ -555,9 +558,12 @@ bool Debugger::cmdDebugFlagEnable(int argc, const char **argv) {
bool Debugger::cmdDebugFlagDisable(int argc, const char **argv) {
if (argc < 2) {
- debugPrintf("debugflag_disable <flag>\n");
+ debugPrintf("debugflag_disable [<flag> | all]\n");
} else {
- if (DebugMan.disableDebugChannel(argv[1])) {
+ if (Common::String(argv[1]) == "all") {
+ debugPrintf("Disabled all debug flags\n");
+ DebugMan.disableAllDebugChannels();
+ } else if (DebugMan.disableDebugChannel(argv[1])) {
debugPrintf("Disabled debug flag '%s'\n", argv[1]);
} else {
debugPrintf("Failed to disable debug flag '%s'\n", argv[1]);