Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

почему точка останова не активна? [D7, XP]


Страницы:   1 2

картман ©   (2011-03-10 15:53:00) 

Всем доброго времени суток!

if Condition then
  Exit;

на Exit; ставлю точку останова - не активна, но точно отрабатывает. Почему?


картман   (2011-03-11 18:22:00) [1]


> походу это багофича именно отладчика.
> компилятору-то с чего лишний код лепить?

это я по-неграмотности возложил ответственность на компилятор(


clickmaker   (2011-03-11 17:37:00) [2]

> так почему бы компилятору на время отладки так не делать?

походу это багофича именно отладчика.
компилятору-то с чего лишний код лепить?


картман   (2011-03-11 17:32:00) [3]


> clickmaker ©   (11.03.11 17:19) [28]
>
> > и не отоптимизирует? :)
>
> на время отладки можно выключить.
> а для придания коду крутости можно и
> asm NOP end;
> вместо while

так почему бы компилятору на время отладки так не делать?


> Inovet ©   (11.03.11 16:45) [26]
>
> > [24] картман ©   (11.03.11 15:47)
> > хотя бы затем, чтоб мне отлаживать удобней было
>
> Нет ты спросил
> [0] картман ©   (10.03.11 15:53)
> на Exit; ставлю точку останова - не активна, но точно отрабатывает. Почему?

да, спросил - издалека.


clickmaker   (2011-03-11 17:19:00) [4]

> и не отоптимизирует? :)

на время отладки можно выключить.
а для придания коду крутости можно и
asm NOP end;
вместо while


antonn   (2011-03-11 17:17:00) [5]


> clickmaker ©   (11.03.11 15:56) [25]
>
> > чтоб мне отлаживать удобней было
>
> if condition then begin
>  while(false) do;
>  Exit;
> end;
>
> -)
>

и не отоптимизирует? :)


Inovet   (2011-03-11 16:45:00) [6]

> [24] картман ©   (11.03.11 15:47)
> хотя бы затем, чтоб мне отлаживать удобней было

Нет ты спросил

> [0] картман ©   (10.03.11 15:53)
> на Exit; ставлю точку останова - не активна, но точно отрабатывает. Почему?

Вот и ответили. Зачем бы там нужна конструкция из двух переходов, когда можно один с инверсией условия, Что-нибудь навроде:

test eax
jz end_if
jmp end_proc ; exit
end_if:
...
end_proc:

или

test eax
jnz end_proc
...
end_proc:


clickmaker   (2011-03-11 15:56:00) [7]

> чтоб мне отлаживать удобней было

if condition then begin
 while(false) do;
 Exit;
end;

-)


картман   (2011-03-11 15:47:00) [8]


> Inovet ©   (11.03.11 12:06) [22]
>
> Наверно в этом виде на exit нет машинного кода. А зачем
> он там.

да фик знает, зачем он там - хотя бы затем, чтоб мне отлаживать удобней было.


Anatoly Podgoretsky   (2011-03-11 12:24:00) [9]

> Inovet  (11.03.2011 12:06:22)  [22]

Его и нет, поэтому и точки нет. Код в самом IF


Inovet   (2011-03-11 12:06:00) [10]

Наверно в этом виде на exit нет машинного кода. А зачем он там.


картман   (2011-03-11 11:51:00) [11]


> после Exit до end еще что-нить есть?

есть


brother   (2011-03-11 06:04:00) [12]

встречался с подобным, решал бряком на IF, думаю, что это [17]


MonoLife   (2011-03-11 03:39:00) [13]

после Exit до end еще что-нить есть?


картман   (2011-03-11 00:09:00) [14]


> сам отладчик в момент запуска ставит синие точки на строчках,
>  где разрешены бряки

ну да - на Exit не ставит.


>  sniknik ©   (10.03.11 23:42) [16]
>
> похоже он "сливает" все в одну строку-команду.
> а так попробуй
> if Condition then begin
>  Exit;
> end;

пробовал - не ставит.


clickmaker   (2011-03-10 23:54:00) [15]

собственно, сам отладчик в момент запуска ставит синие точки на строчках, где разрешены бряки


sniknik   (2011-03-10 23:42:00) [16]

похоже он "сливает" все в одну строку-команду.
а так попробуй
if Condition then begin
 Exit;
end;


картман   (2011-03-10 22:54:00) [17]


>  особенность отладчика

офигеть


Anatoly Podgoretsky   (2011-03-10 21:58:00) [18]

Ставь точку на IF, а это просто особенность отладчика


картман   (2011-03-10 17:49:00) [19]


> harisma ©   (10.03.11 17:41) [12]

поадает, см. [8]


harisma   (2011-03-10 17:41:00) [20]

А в дельфе при трассировке на Exit не попадает никогда. :) Особенности компилятора, однако.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо