views:

18

answers:

1

It's a c++ project:

alt text

7C92E4BE  mov         dword ptr [esp],eax 
7C92E4C1  mov         dword ptr [esp+4],0 
7C92E4C9  mov         dword ptr [esp+8],0 
7C92E4D1  mov         dword ptr [esp+10h],0 
7C92E4D9  push        esp  
7C92E4DA  call        7C92E508 
7C92E4DF  mov         eax,dword ptr [esp] 
7C92E4E2  mov         esp,ebp 
7C92E4E4  pop         ebp  
7C92E4E5  ret              
7C92E4E6  lea         esp,[esp] 
7C92E4ED  lea         ecx,[ecx] 
7C92E4F0  mov         edx,esp 
7C92E4F2  sysenter         
7C92E4F4  ret 

I set bp on 7C92E4F2 (this part is called by Win32,not explicitly from my code) , then I start debugging, it doesn't stop.

Why ?

A: 

You should be able to break right on SYSENTER, but you won't be able to continue any further, since SYSENTER is where the user/kernel-mode transition takes place. You'd need a kernel debugger to step beyond that point. As I said, stopping right at the instruction itself shouldn't pose a problem, though.

Jim Brissom
The fact is that I can't break on `SYSENTER`
COMer