[0.1.x] fixed : !pycmd implementation

git-svn-id: https://pykd.svn.codeplex.com/svn@70283 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
SND\kernelnet_cp 2011-10-10 11:38:56 +00:00 committed by Mikhail I. Izmestev
parent e1e64a3d0c
commit 0cb8036485

View File

@ -401,6 +401,7 @@ py( PDEBUG_CLIENT4 client, PCSTR args )
python::object sys = python::import("sys"); python::object sys = python::import("sys");
sys.attr("stdout") = python::object( dbgClient->dout() ); sys.attr("stdout") = python::object( dbgClient->dout() );
sys.attr("stderr") = python::object( dbgClient->dout() );
sys.attr("stdin") = python::object( dbgClient->din() ); sys.attr("stdin") = python::object( dbgClient->din() );
// èìïîðòèðóåì ìîäóëü îáðàáîòêè èñêëþ÷åíèé ( íóæåí äëÿ âûâîäà traceback à ) // èìïîðòèðóåì ìîäóëü îáðàáîòêè èñêëþ÷åíèé ( íóæåí äëÿ âûâîäà traceback à )
@ -510,6 +511,10 @@ pycmd( PDEBUG_CLIENT4 client, PCSTR args )
WindbgGlobalSession::RestorePyState(); WindbgGlobalSession::RestorePyState();
ULONG mask = 0;
client->GetOutputMask( &mask );
try { try {
// ïåðåíàïðàâëåíèå ñòàíäàðòíûõ ïîòîêîâ ÂÂ // ïåðåíàïðàâëåíèå ñòàíäàðòíûõ ïîòîêîâ ÂÂ
@ -533,6 +538,8 @@ pycmd( PDEBUG_CLIENT4 client, PCSTR args )
dbgClient->eprintln( L"unexpected error" ); dbgClient->eprintln( L"unexpected error" );
} }
client->SetOutputMask( mask );
WindbgGlobalSession::SavePyState(); WindbgGlobalSession::SavePyState();
DebugClient::setDbgClientCurrent( oldClient ); DebugClient::setDbgClientCurrent( oldClient );