Subversion Repositories Kolibri OS

Rev

Rev 5206 | Rev 5461 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5206 Rev 5460
Line 790... Line 790...
790
        push    eax
790
        push    eax
791
        cmp     al, 0Dh
791
        cmp     al, 0Dh
792
        jnz     .notdbg
792
        jnz     .notdbg
793
    ; check for 0xCC byte at eip
793
    ; check for 0xCC byte at eip
794
        push    0
794
        push    0
795
        ;push    69
-
 
796
        ;pop     eax
-
 
797
        ;push    6
-
 
798
        ;pop     ebx
-
 
799
        ;mov     ecx, [debuggee_pid]
-
 
800
        ;mov     edi, esp
-
 
801
        ;mov     esi, [_eip]
-
 
802
        ;push    1
-
 
803
        ;pop     edx
-
 
804
        mcall    69, 6, [debuggee_pid], 1, [_eip], esp
795
        mcall   69, 6, [debuggee_pid], 1, [_eip], esp
805
        pop     eax
796
        pop     eax
806
        cmp     al, 0xCC
797
        cmp     al, 0xCC
-
 
798
        je      .int3
-
 
799
    ; check for 0xCD03 word at eip
-
 
800
        push    0
-
 
801
        inc     edx
-
 
802
        mcall   69;, 6, [debuggee_pid], 2, [_eip], esp
-
 
803
        pop     eax
-
 
804
        cmp     ax, 0x03CD
807
        jnz     .notdbg
805
        jne     .notdbg
-
 
806
        mov     eax, [_eip]
-
 
807
        inc     [_eip]
-
 
808
        inc     [_eip]
-
 
809
        jmp     .user_int3_
-
 
810
    .int3:
808
    ; this is either dbg breakpoint or int3 cmd in debuggee
811
    ; this is either dbg breakpoint or int3 cmd in debuggee
809
        mov     eax, [_eip]
812
        mov     eax, [_eip]
810
        call    find_enabled_breakpoint
813
        call    find_enabled_breakpoint
811
        jnz     .user_int3
814
        jnz     .user_int3
812
    ; dbg breakpoint; clear if one-shot
815
    ; dbg breakpoint; clear if one-shot
Line 820... Line 823...
820
        jmp     .done
823
        jmp     .done
Line 821... Line 824...
821
 
824
 
822
    .user_int3:
825
    .user_int3:
823
        mov     eax, [_eip]
826
        mov     eax, [_eip]
-
 
827
        inc     [_eip]
824
        inc     [_eip]
828
    .user_int3_:
825
        pop     ecx
829
        pop     ecx
826
        push    eax
830
        push    eax
827
        call    set_context
831
        call    set_context
828
        mov     esi, aUserBreak
832
        mov     esi, aUserBreak
Line 2245... Line 2249...
2245
aRunning        db      'Running'
2249
aRunning        db      'Running'
2246
aPaused         db      'Paused'
2250
aPaused         db      'Paused'
Line 2247... Line 2251...
2247
 
2251
 
2248
aFPU            db      '[ FPU ]'
2252
aFPU            db      '[ FPU ]'
2249
aMMX            db      '[ MMX ]'
2253
aMMX            db      '[ MMX ]'
2250
aSSE            db      '[ SSE-32 ]'
2254
aSSE            db      '[SSE32]'
2251
aSSE2           db      '[ SSE-64 ]'
2255
aSSE2           db      '[SSE64]'
Line 2252... Line 2256...
2252
aMMX128         db      '[ MMX128 ]'
2256
aMMX128         db      '[MMX128]'
2253
 
2257
 
2254
aAVX            db      '[ AVX ]'
2258
aAVX            db      '[ AVX ]'