[pykd] fixed: issue 8614 ( go() works incorrectly while process is terminating )

git-svn-id: https://pykd.svn.codeplex.com/svn@63966 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
SND\kernelnet_cp 2011-04-14 07:07:33 +00:00
parent 3041ac3fdb
commit 5371048a72

View File

@ -9,17 +9,17 @@ std::string
dbgCommand( const std::string &command ); dbgCommand( const std::string &command );
template <ULONG status> template <ULONG status>
void bool
setExecutionStatus() setExecutionStatus()
{ {
HRESULT hres; HRESULT hres;
try { try {
hres = dbgExt->control->SetExecutionStatus( status ); hres = dbgExt->control->SetExecutionStatus( status );
if ( FAILED( hres ) ) if ( FAILED( hres ) )
throw DbgException( "IDebugControl::SetExecutionStatus failed" ); return false;
ULONG currentStatus; ULONG currentStatus;
@ -36,7 +36,9 @@ setExecutionStatus()
throw DbgException( "IDebugControl::GetExecutionStatus failed" ); throw DbgException( "IDebugControl::GetExecutionStatus failed" );
} while( currentStatus != DEBUG_STATUS_BREAK && currentStatus != DEBUG_STATUS_NO_DEBUGGEE ); } while( currentStatus != DEBUG_STATUS_BREAK && currentStatus != DEBUG_STATUS_NO_DEBUGGEE );
return true;
} }
catch( std::exception &e ) catch( std::exception &e )
@ -47,6 +49,8 @@ setExecutionStatus()
{ {
dbgExt->control->Output( DEBUG_OUTPUT_ERROR, "pykd unexpected error\n" ); dbgExt->control->Output( DEBUG_OUTPUT_ERROR, "pykd unexpected error\n" );
} }
return false;
} }
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////