From 28b39de5ae0903d440b5f0f6bc1546e53f9e8b15 Mon Sep 17 00:00:00 2001 From: tr4ceflow Date: Tue, 16 Sep 2014 19:31:50 +0200 Subject: [PATCH] DBG: flexible message logging (like Qt's QDebug has) --- x64_dbg_dbg/log.cpp | 13 +++++++++++++ x64_dbg_dbg/log.h | 23 +++++++++++++++++++++++ x64_dbg_dbg/x64_dbg_dbg.vcxproj | 2 ++ x64_dbg_dbg/x64_dbg_dbg.vcxproj.filters | 6 ++++++ 4 files changed, 44 insertions(+) create mode 100644 x64_dbg_dbg/log.cpp create mode 100644 x64_dbg_dbg/log.h diff --git a/x64_dbg_dbg/log.cpp b/x64_dbg_dbg/log.cpp new file mode 100644 index 00000000..9ec7ede9 --- /dev/null +++ b/x64_dbg_dbg/log.cpp @@ -0,0 +1,13 @@ +#include "log.h" +#include "_global.h" + +log::log(void) +{ +} + + +log::~log(void) +{ + GuiAddLogMessage(message.str().c_str()); + +} diff --git a/x64_dbg_dbg/log.h b/x64_dbg_dbg/log.h new file mode 100644 index 00000000..0070507f --- /dev/null +++ b/x64_dbg_dbg/log.h @@ -0,0 +1,23 @@ +#pragma once +#include +// a Qt's QDebug like message logging +// usage: "log() << "hi" << "there"; +class log +{ +public: + log(); + ~log(); +public: + + template + inline log & operator<<(const T & x) + { + // accumulate messages + message << x; + return *this; + } +private: + std::ostringstream message; + +}; + diff --git a/x64_dbg_dbg/x64_dbg_dbg.vcxproj b/x64_dbg_dbg/x64_dbg_dbg.vcxproj index 31976d9a..13b60271 100644 --- a/x64_dbg_dbg/x64_dbg_dbg.vcxproj +++ b/x64_dbg_dbg/x64_dbg_dbg.vcxproj @@ -22,6 +22,7 @@ + @@ -66,6 +67,7 @@ + diff --git a/x64_dbg_dbg/x64_dbg_dbg.vcxproj.filters b/x64_dbg_dbg/x64_dbg_dbg.vcxproj.filters index 1bd11186..ee31609c 100644 --- a/x64_dbg_dbg/x64_dbg_dbg.vcxproj.filters +++ b/x64_dbg_dbg/x64_dbg_dbg.vcxproj.filters @@ -129,6 +129,9 @@ Source Files + + Source Files + @@ -275,5 +278,8 @@ Header Files + + Header Files + \ No newline at end of file