NO

Author Topic: why it doesn't execute that line ?  (Read 2460 times)

gaurav9991

  • Guest
why it doesn't execute that line ?
« on: December 13, 2010, 02:47:47 PM »
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







Offline TimoVJL

  • Global Moderator
  • Member
  • *****
  • Posts: 2115
Re: why it doesn't execute that line ?
« Reply #1 on: December 13, 2010, 04:43:33 PM »
Optimizer put that variable into register.
If you look it in debugger with Show disassembly you see it in eax.

EDIT:
Code: [Select]
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.
« Last Edit: December 15, 2010, 05:38:05 PM by timovjl »
May the source be with you

gaurav9991

  • Guest
Re: why it doesn't execute that line ?
« Reply #2 on: December 14, 2010, 05:39:16 AM »
i am not getting what you are saying. Can you explain it in more detail? Thank you