コード例 #1
0
ファイル: dbglib.c プロジェクト: MikeyG/open-watcom-v2
static void set_hotkey_break( TSF32 FarPtr client )
{
    client = find_user_code( client );
    D32DebugBreakOp( &hotkey_opcode );
    D32DebugSetBreak( client->eip, client->cs, 0, &hotkey_opcode, &saved_opcode );
    hotkey_hit = 1;
#ifdef DEBUGHOTKEY
    outs( "hotkey break set\r\n" );
#endif
}
コード例 #2
0
unsigned ReqClear_break()
{
    clear_break_req     *acc;
    char        dummy;

    acc = GetInPtr( 0 );
    _DBG1(( "AccRestoreBreak\n" ));
    /* assume all breaks removed at same time */
    D32DebugSetBreak( acc->break_addr.offset, acc->break_addr.segment,
                          FALSE, (byte *)&acc->old, &dummy );
    return( 0 );
}
コード例 #3
0
unsigned ReqSet_break()
{
    set_break_req       *acc;
    set_break_ret       *ret;

    _DBG1(( "AccSetBreak\n" ));

    acc = GetInPtr( 0 );
    ret = GetOutPtr( 0 );
    D32DebugSetBreak( acc->break_addr.offset, acc->break_addr.segment,
                          FALSE, &Break, (byte *)&ret->old );
    return( sizeof( *ret ) );
}
コード例 #4
0
ファイル: dbglib.c プロジェクト: MikeyG/open-watcom-v2
static void check_hotkey( int eip_mod, TSF32 FarPtr client )
{
    if( hotkey_hit ) {
        hotkey_hit = 0;
#ifdef DEBUGHOTKEY
        outs( "hotkey seen " );
        outi( FP_OFF( client ) ); 
        outi( client->cs ); outi( (int)client->eip ); outs( "\r\n" );
#endif
        D32DebugSetBreak( client->eip + eip_mod, client->cs, 0, &saved_opcode, &hotkey_opcode );
        client->int_id = hotkey_int; /* Attribute to Hotkey */
    }
}