[Back to MISC SWAG index] [Back to Main SWAG index] [Original]

    {
    ³ Now, just to bring this home, I want to make it take over the
    ³ debugging interrupts.  (INT 3, is it?)  I am just wondering if this
    ³ has been done and if anyone has some TP/TASM code already created for
    ³ this purpose.

    in case the debugger executes an int1 or int 3, all you will get is the
    message "OOPS". not really secure, but for most cases QUITE good enough.

    }

    Unit Nodebug;

    Interface

    {*************************************************}
    {*                                               *}
    {*  All actions will be handled by the           *}
    {*  initialisation and the Exitprozedure         *}
    {*  thus no exported declarations needed         *}
    {*                                               *}
    {*************************************************}

    Implementation

    Uses Dos,Crt;

    Var
       Oldint1,
       Oldint3,
       Exitsave   : Pointer;

        Procedure Donotdebug; Interrupt;
        Begin
           Writeln ('OOPS??  pleeze no debuggung !!!!' );
           Writeln;
           Halt (255);
        End;

    {$F+}
        Procedure Resetnodebug;
    {$F-}
        Begin
           Setintvec ( 1, Oldint1 );
           Setintvec ( 3, Oldint3 );
           Exitproc  := Exitsave;
        End;

    Begin
       Exitsave := Exitproc;
       Exitproc := @Resetnodebug;
       Getintvec ( 1, Oldint1 );
       Getintvec ( 3, Oldint3 );
       Setintvec ( 3, @Donotdebug );
       Setintvec ( 1, @Donotdebug );
    End.

[Back to MISC SWAG index] [Back to Main SWAG index] [Original]