why it doesn't execute that line ?

Started by gaurav9991, December 13, 2010, 02:47:47 PM

Previous topic - Next topic

gaurav9991

i have added a break point at a line but while debugging it gives me an error saying that the line can not be executed. the whole program works fine. please see the attached screenshot.

thank you







TimoVJL

#1
Optimizer put that variable into register.
If you look it in debugger with Show disassembly you see it in eax.

EDIT:
75:
76: top = -1;
00401160               or              dword ptr [top],-FF
77: flag = 0;
78:
79: for (i = 0; expression[i] != '\0'; i++)
00401164               xor             ebx,ebx
00401166               jmp             004011D5
{
if (isbracket(expression[i]))
00401168               movzx           eax,byte ptr [expression+ebx]
...

89: {
90: flag = 1;
91: break;
004011CD              mov             eax,00000001
004011D2              jmp              004011DE
92: }
...

Without optimization or volatile int flag you can step to that line too.
May the source be with you

gaurav9991

i am not getting what you are saying. Can you explain it in more detail? Thank you