![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
![]()
Доброе всем время суток,
Как-то не понятно отрабатывает трассировка кода: Код:
"Edit1.Text = 20", компилятор тормозится на breakpoint строки "exit", но пропускает вывод сообщения. Когда по идее, в этот блок он вообще не должен попадать. Заранее спасибо за ответ Последний раз редактировалось KBO; 17.03.2016 в 03:27. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 02.02.2016
Сообщений: 290
|
![]()
Брекпоинт должен отрабатывать всегда, не зависимо от того в каком куске кода он расположен, чтоб программист мог понять, дошло ли выполнение кода до этой точки, или застопорилось где-то по пути, попав, к примеру, в бесконечный цикл.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 11.06.2010
Сообщений: 525
|
![]()
Если breakpoint стоит возле "if" (и там есть остановка) - это я могу понять.
А вот когда breakpoint, отрабатыват в блоке, в котором по логике не должен отрабатывать... Это только путаницу вводит. Тем более если в этот блок "begin ... end", поместить другие строки кода (до "exit"), и поставить на них breakpoint, то дебагер их пропустит. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,807
|
![]()
Это отработал оптимизатор. У вас exit вызовется при выходи из функции в любом случае, вот он и не стал лепит их две одинаковые штуки.
|
![]() |
![]() |
![]() |
#5 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
Достаточно открыть CPU и всё понятно станет.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Согласен с p51x, min@y™.
Вы поймите, работает оптимизатор. Он и превратил ваш код в что-то вроде: Код:
В данном случае Exit вообще не нужен, выкиньте его совсем. Ну или допишите какой-нибудь код (например, выдачу сообщения) ПОСЛЕ блока с условием и посмотрите, будет остановка на Exit (предполагаю, что НЕ БУДЕТ). |
![]() |
![]() |
![]() |
#7 |
Я самый любопытный
Участник клуба
Регистрация: 24.07.2012
Сообщений: 1,973
|
![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
newerow1989, к чему Ваш пост?
Вы скриншот в пост #1 не видите? Там же видно, что первое: в Edit1.Text занесено 20 второе, остановка произошла на строке Exit вопрос у TC собствено - почему условие не должно выполняться, но, тем не менее, вопреки этому, управление программы передалось внутрь блока. p.s. уже три дня прошло. не думаю, что вопрос по прежнему актуален.. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Для заданной строки определить все входящие в неё символ. Например: строка "abccbbabbac" состоит из символов "a", "b" и "c" | Sandakan01 | Помощь студентам | 1 | 24.02.2016 03:20 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |