2010-09-13 1 views
1

Il est un projet C++:Pourquoi le point de rupture ne fonctionne pas pour les lignes sans code source dans la vue Démontage de Visual Studio?

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 mis pb sur 7C92E4F2 (cette partie est appelée par Win32, pas explicitement de mon code), je commence le débogage, il ne s'arrête pas.

Pourquoi?

+0

Vous l'avez défini trop tard, il a déjà progressé au-delà de cette adresse. –

+0

comment se fait-il que je l'ai mis avant d'exécuter le programme ... – COMer

Répondre

0

Vous devriez pouvoir passer à droite sur SYSENTER, mais vous ne pourrez pas continuer plus longtemps, puisque SYSENTER est l'endroit où la transition utilisateur/mode noyau a lieu. Vous auriez besoin d'un débogueur de noyau pour passer à au-delà de ce point. Comme je l'ai dit, s'arrêter juste à l'instruction elle-même ne devrait pas poser de problème, cependant.

+0

Le fait est que je ne peux pas casser sur 'SYSENTER' – COMer

Questions connexes