diff --git a/src/Commands.cc b/src/Commands.cc
index 7db769722d70b3a4e786dcf7235c44945cae25ad..b07fe1295491f45f04e4e5ac3f200182c9f8a015 100644
--- a/src/Commands.cc
+++ b/src/Commands.cc
@@ -32,6 +32,7 @@ std::map<std::string,
 struct cmdMapInit {
   cmdMapInit() {
     redis_cmd_map["ping"] = {RedisCommand::PING, CommandType::CONTROL};
+    redis_cmd_map["debug"] = {RedisCommand::DEBUG, CommandType::CONTROL};
 
     redis_cmd_map["get"] = {RedisCommand::GET, CommandType::READ};
     redis_cmd_map["exists"] = {RedisCommand::EXISTS, CommandType::READ};
diff --git a/src/Commands.hh b/src/Commands.hh
index f2a0e363e45a074ab747ed8decd23b6b3328d7f2..16893769aeb68574f10be0118bf835e5e7b53be4 100644
--- a/src/Commands.hh
+++ b/src/Commands.hh
@@ -30,6 +30,8 @@ namespace quarkdb {
 
 enum class RedisCommand {
   PING,
+  DEBUG,
+
   FLUSHALL,
 
   GET,
diff --git a/src/Dispatcher.cc b/src/Dispatcher.cc
index 9675f18b1a440dbb70fdb85f65b48ddd77070796..a4fb6e50700752abe1e33bc5bb617bde9d154cb0 100644
--- a/src/Dispatcher.cc
+++ b/src/Dispatcher.cc
@@ -45,6 +45,14 @@ LinkStatus RedisDispatcher::dispatch(Connection *conn, RedisRequest &request, Re
 
       return conn->string(request[1]);
     }
+    case RedisCommand::DEBUG: {
+      if(request.size() != 2) return conn->errArgs(request[0]);
+      if(request[1] == "segfault" || request[1] == "SEGFAULT") {
+        *( (int*) nullptr) = 5; // bye bye
+      }
+
+      return conn->err(SSTR("unknown argument '" << request[1] << "'"));
+    }
     case RedisCommand::FLUSHALL: {
       if(request.size() != 1) return conn->errArgs(request[0]);
       rocksdb::Status st = store.flushall();