From 0cb80364851dc859b3cde931065cbdcf1ff17477 Mon Sep 17 00:00:00 2001 From: "SND\\kernelnet_cp" Date: Mon, 10 Oct 2011 11:38:56 +0000 Subject: [PATCH] [0.1.x] fixed : !pycmd implementation git-svn-id: https://pykd.svn.codeplex.com/svn@70283 9b283d60-5439-405e-af05-b73fd8c4d996 --- pykd/dbgext.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pykd/dbgext.cpp b/pykd/dbgext.cpp index 502859c..8f8123f 100644 --- a/pykd/dbgext.cpp +++ b/pykd/dbgext.cpp @@ -401,6 +401,7 @@ py( PDEBUG_CLIENT4 client, PCSTR args ) python::object sys = python::import("sys"); sys.attr("stdout") = python::object( dbgClient->dout() ); + sys.attr("stderr") = python::object( dbgClient->dout() ); sys.attr("stdin") = python::object( dbgClient->din() ); // импортируем модуль обработки исключений ( нужен для вывода traceback а ) @@ -510,6 +511,10 @@ pycmd( PDEBUG_CLIENT4 client, PCSTR args ) WindbgGlobalSession::RestorePyState(); + + ULONG mask = 0; + client->GetOutputMask( &mask ); + try { // перенаправление стандартных потоков ВВ @@ -533,6 +538,8 @@ pycmd( PDEBUG_CLIENT4 client, PCSTR args ) dbgClient->eprintln( L"unexpected error" ); } + client->SetOutputMask( mask ); + WindbgGlobalSession::SavePyState(); DebugClient::setDbgClientCurrent( oldClient );