示例#1
0
void DoGo( struct TDebug *obj )
{
    if ( ( obj->CurrentThread->Cs & 0x3 ) == 0x3 ) {
        SetupGo( obj->CurrentThread );
        ActivateBreaks( obj->CurrentThread, obj->BreakList, obj->WatchList );
        RdosContinueDebugEvent( obj->FHandle, obj->CurrentThread->ThreadID );
    } else {
        while ( RdosGetDebugThread() != obj->CurrentThread->ThreadID )
            RdosDebugNext();
        ActivateBreaks( obj->CurrentThread, obj->BreakList, obj->WatchList );
        RdosDebugRun();
    }
}
示例#2
0
void Go( struct TDebug *obj )
{
    if( obj->CurrentThread ) {
        RdosResetSignal( obj->UserSignal );

        SetupGo( obj->CurrentThread );
        ActivateBreaks( obj->CurrentThread, obj->BreakList );
        RdosContinueDebugEvent( obj->FHandle, obj->CurrentThread->ThreadID);

        RdosWaitForever( obj->UserWait );
    }
}