Bonjour à tous, suite à des déboires rencontrés dans l'exécution d'un programme C++ que je développe (la compilation se déroulant très bien) je me suis dit pourquoi ne pas regarder l'endroit du code assembleur où le programme plante.
Voici donc la partie du code concernée, apparemment le programme a un problème ligne 00403F77
Au début de l'exécution ecx =0 et eax = 208896 (soit 33000 en hexa)
Du coup arrivée ligne 00403F77 eax = 204800.
Et le programme s'arrête avec en message de débugage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 00403F64 cmp ecx,eax 00403F66 jb 00403F72 00403F68 mov eax,ecx 00403F6A pop ecx 00403F6B xchg eax,esp 00403F6C mov eax,dword ptr [eax] 00403F6E mov dword ptr [esp],eax 00403F71 ret 00403F72 sub eax,1000h 00403F77 test dword ptr [eax],eax 00403F79 jmp 00403F64Si quelqu'un pouvait me lancer sur le bug que ça donne... je comprend pas trop cet histoire de test dword .... il sevrait pas y avoir un branchement conditionnel derrière, à quoi sert exactement le test s'il est suivi d'un jmp ?Exception non gérée à 0x00403f77 dans prog.exe*: 0xC00000FD: Stack overflow.
Voilà en espérant que vous pourrez m'aider ...
Merci
Partager