diff --git a/pykd/python/pymod.cpp b/pykd/python/pymod.cpp index 0e0c723..a066f1a 100644 --- a/pykd/python/pymod.cpp +++ b/pykd/python/pymod.cpp @@ -78,6 +78,7 @@ BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS( Module_findSymbol, Module::getSymbolName BOOST_PYTHON_MODULE( pykd ) { python::scope().attr("__version__") = pykdVersion; + python::scope().attr("version") = pykdVersion; // DbgEng services python::def( "setSymSrvDir", &setSymSrvDir, diff --git a/pykd/win/dbgio.cpp b/pykd/win/dbgio.cpp index b03080f..ef8fdae 100644 --- a/pykd/win/dbgio.cpp +++ b/pykd/win/dbgio.cpp @@ -14,13 +14,20 @@ void dprint( const std::wstring &str, bool dml ) { PyThread_StateRestore pyThreadRestore( g_dbgEng->pystate ); - g_dbgEng->control->ControlledOutputWide( - dml ? DEBUG_OUTCTL_AMBIENT_DML : DEBUG_OUTCTL_AMBIENT_TEXT, - DEBUG_OUTPUT_NORMAL, - L"%ws", - str.c_str() - ); + std::wstringstream sstr(str); + std::wstring line; + while (std::getline(sstr, line)) + { + line += L'\n'; + + g_dbgEng->control->ControlledOutputWide( + dml ? DEBUG_OUTCTL_AMBIENT_DML : DEBUG_OUTCTL_AMBIENT_TEXT, + DEBUG_OUTPUT_NORMAL, + L"%ws", + line.c_str() + ); + } } else {