diff --git a/kdlibcpp b/kdlibcpp index 5be28cd..d6c85ac 160000 --- a/kdlibcpp +++ b/kdlibcpp @@ -1 +1 @@ -Subproject commit 5be28cda0ef7473125813c250adceef4d07218a4 +Subproject commit d6c85ac71663a98e885aed81ced4ca1aadd0be8e diff --git a/pykd/pydbgeng.h b/pykd/pydbgeng.h index 652fbe1..ef8ba9f 100644 --- a/pykd/pydbgeng.h +++ b/pykd/pydbgeng.h @@ -104,13 +104,13 @@ bool isKernelDebugging() inline -python::object debugCommand( const std::wstring &command, bool suppressOutput = true) +python::object debugCommand( const std::wstring &command, bool suppressOutput = true, const kdlib::OutputFlagsSet& captureFlags = kdlib::OutputFlag::Normal) { std::wstring debugResult; { AutoRestorePyState pystate; - debugResult = kdlib::debugCommand(command, suppressOutput); + debugResult = kdlib::debugCommand(command, suppressOutput, captureFlags); } if (debugResult.size() > 0 ) diff --git a/pykd/pykdver.h b/pykd/pykdver.h index 44bb0a5..2487b9e 100644 --- a/pykd/pykdver.h +++ b/pykd/pykdver.h @@ -2,7 +2,7 @@ #define PYKD_VERSION_MAJOR 0 #define PYKD_VERSION_MINOR 3 #define PYKD_VERSION_SUBVERSION 4 -#define PYKD_VERSION_BUILDNO 12 +#define PYKD_VERSION_BUILDNO 13 #define __VER_STR2__(x) #x #define __VER_STR1__(x) __VER_STR2__(x) diff --git a/pykd/pymod.cpp b/pykd/pymod.cpp index 2c8c9b7..02a368d 100644 --- a/pykd/pymod.cpp +++ b/pykd/pymod.cpp @@ -42,7 +42,7 @@ BOOST_PYTHON_FUNCTION_OVERLOADS( terminateProcess_, pykd::terminateProcess, 0, BOOST_PYTHON_FUNCTION_OVERLOADS(closeDump_, pykd::closeDump, 0, 1); BOOST_PYTHON_FUNCTION_OVERLOADS( attachKernel_, pykd::attachKernel, 0, 1 ); BOOST_PYTHON_FUNCTION_OVERLOADS( evaluate_, pykd::evaluate, 1, 2 ); -BOOST_PYTHON_FUNCTION_OVERLOADS( debugCommand_, pykd::debugCommand, 1, 2 ); +BOOST_PYTHON_FUNCTION_OVERLOADS( debugCommand_, pykd::debugCommand, 1, 3 ); BOOST_PYTHON_FUNCTION_OVERLOADS( dprint_, pykd::dprint, 1, 2 ); BOOST_PYTHON_FUNCTION_OVERLOADS( dprintln_, pykd::dprintln, 1, 2 ); @@ -207,8 +207,10 @@ void pykd_init() "Break into debugger" ); python::def( "expr", pykd::evaluate, evaluate_( python::args( "expression", "cplusplus" ), "Evaluate windbg expression" ) ); - python::def( "dbgCommand", &pykd::debugCommand, - debugCommand_( python::args( "command", "suppressOutput"), "Run a debugger's command and return it's result as a string" ) ); + python::def( "dbgCommand", &pykd::debugCommand, debugCommand_( python::args( + "command", "suppressOutput", "outputMask"), + "Run a debugger's command and return it's result as a string. You can set additional outputMask" \ + "if you want to get also error messages" ) ); python::def( "go", pykd::targetGo, "Go debugging" ); python::def( "step", pykd::targetStep,