MTDBG: recognise long int 3 opcode (CD 03) as user breakpoint.
git-svn-id: svn://kolibrios.org@5460 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
d43cb2a354
commit
c8a8b0eaa2
@ -792,19 +792,22 @@ exception:
|
|||||||
jnz .notdbg
|
jnz .notdbg
|
||||||
; check for 0xCC byte at eip
|
; check for 0xCC byte at eip
|
||||||
push 0
|
push 0
|
||||||
;push 69
|
mcall 69, 6, [debuggee_pid], 1, [_eip], esp
|
||||||
;pop eax
|
|
||||||
;push 6
|
|
||||||
;pop ebx
|
|
||||||
;mov ecx, [debuggee_pid]
|
|
||||||
;mov edi, esp
|
|
||||||
;mov esi, [_eip]
|
|
||||||
;push 1
|
|
||||||
;pop edx
|
|
||||||
mcall 69, 6, [debuggee_pid], 1, [_eip], esp
|
|
||||||
pop eax
|
pop eax
|
||||||
cmp al, 0xCC
|
cmp al, 0xCC
|
||||||
jnz .notdbg
|
je .int3
|
||||||
|
; check for 0xCD03 word at eip
|
||||||
|
push 0
|
||||||
|
inc edx
|
||||||
|
mcall 69;, 6, [debuggee_pid], 2, [_eip], esp
|
||||||
|
pop eax
|
||||||
|
cmp ax, 0x03CD
|
||||||
|
jne .notdbg
|
||||||
|
mov eax, [_eip]
|
||||||
|
inc [_eip]
|
||||||
|
inc [_eip]
|
||||||
|
jmp .user_int3_
|
||||||
|
.int3:
|
||||||
; this is either dbg breakpoint or int3 cmd in debuggee
|
; this is either dbg breakpoint or int3 cmd in debuggee
|
||||||
mov eax, [_eip]
|
mov eax, [_eip]
|
||||||
call find_enabled_breakpoint
|
call find_enabled_breakpoint
|
||||||
@ -822,6 +825,7 @@ exception:
|
|||||||
.user_int3:
|
.user_int3:
|
||||||
mov eax, [_eip]
|
mov eax, [_eip]
|
||||||
inc [_eip]
|
inc [_eip]
|
||||||
|
.user_int3_:
|
||||||
pop ecx
|
pop ecx
|
||||||
push eax
|
push eax
|
||||||
call set_context
|
call set_context
|
||||||
@ -2247,9 +2251,9 @@ aPaused db 'Paused'
|
|||||||
|
|
||||||
aFPU db '[ FPU ]'
|
aFPU db '[ FPU ]'
|
||||||
aMMX db '[ MMX ]'
|
aMMX db '[ MMX ]'
|
||||||
aSSE db '[ SSE-32 ]'
|
aSSE db '[SSE32]'
|
||||||
aSSE2 db '[ SSE-64 ]'
|
aSSE2 db '[SSE64]'
|
||||||
aMMX128 db '[ MMX128 ]'
|
aMMX128 db '[MMX128]'
|
||||||
|
|
||||||
aAVX db '[ AVX ]'
|
aAVX db '[ AVX ]'
|
||||||
aMSR db '[ MSR ]'
|
aMSR db '[ MSR ]'
|
||||||
|
Loading…
Reference in New Issue
Block a user