Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Глюк в IDE Delphi или что это? 
V
    Опции темы
VladBD
Дата 22.1.2007, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.11.2006

Репутация: 1
Всего: 5



Не выполняет код программы. Захожу и ставлю отладчик - тоже самое - даже точки брекпойнта не дает на операторы поставить. Что это такое? Как это лечить?

Присоединённый файл ( Кол-во скачиваний: 44 )
Присоединённый файл  screen1.JPG 39,95 Kb
PM MAIL   Вверх
skyboy
Дата 22.1.2007, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 4
Всего: 260



ставь брекпоинты не на конструкции языка вроде case, begin или function ... , а на реально выполняющиеся строки, вроде присвоения, ввода или вывода. в твоем случае бряк надо ставить либо на предыдущую строку, либо на следующую.

Добавлено @ 18:04 
Цитата(VladBD @  22.1.2007,  16:47 Найти цитируемый пост)
даже точки брекпойнта не дает на операторы поставить. 

как же "не дает"? дает. только честно предупреждает: бряк никогда не сработает. такое же предупреждение получишь, поставив бряк в функции, которая нигде не вызывается. тебе это неудобно? пиши в блокноте smile
PM MAIL   Вверх
Bose
Дата 22.1.2007, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 23
Всего: 51



чтобы Breakpointы работали должны быть соблюдены следующие условия:
1) проект должен быть скомпилирован с отладочной информацией(Project->Options->Compiler->Debugging (все галочки включить) в Delphi 6)
2) Оптимизация должна быть выключена:(Project->Options->Compiler->Code Generation->галочка Optimization выключена, в Delphi 6)
PM MAIL WWW Skype   Вверх
VladBD
Дата 22.1.2007, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.11.2006

Репутация: 1
Всего: 5



Цитата
как же "не дает"? дает. только честно предупреждает: бряк никогда не сработает. такое же предупреждение получишь, поставив бряк в функции, которая нигде не вызывается. тебе это неудобно? пиши в блокноте 

в том то и вопрос - почему не срабатывает...
и не вызывается там функция (case 23 of) -> смотри внимательно что он должен выполнить...
а не выполняется... ставлю бряк - тоже самое - пропускает этот оператор. 
даже строку pMASS:=-1; - не выполняет

Добавлено @ 20:19 
Bose, у меня Delphi 7 - если здесь это имеет значение.

да и еще - комп перегружал - это не предлагать  smile 

Это сообщение отредактировал(а) VladBD - 22.1.2007, 20:19
PM MAIL   Вверх
skyboy
Дата 22.1.2007, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 4
Всего: 260



VladBD, ты проверил опции, на которые указал Bose?
PM MAIL   Вверх
VladBD
Дата 22.1.2007, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.11.2006

Репутация: 1
Всего: 5



Я счас не на работе - но это все галочки для отладки, скомпилированный exe - все равно не выполняет операторы. Если больше мыслей нет - то подождем до завтра, попробую.
PM MAIL   Вверх
skyboy
Дата 22.1.2007, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 4
Всего: 260



Цитата(Bose @  22.1.2007,  17:50 Найти цитируемый пост)
проект должен быть скомпилирован с отладочной информацией(Project->Options->Compiler->Debugging (все галочки включить) в Delphi 6)

у меня бряки работают даже если только одна галочка в группе отмечена: "Debug information". Думаю,её хватит...

Добавлено @ 20:30 
Цитата(VladBD @  22.1.2007,  19:28 Найти цитируемый пост)
скомпилированный exe - все равно не выполняет операторы

так при чём тут брейкпоинты?! если не выполняется код, значит логика такая.
как думаешь, такой код должен выполняться:
Код

if false
 then
  form1.close;
???
PM MAIL   Вверх
VladBD
Дата 22.1.2007, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.11.2006

Репутация: 1
Всего: 5



У меня же другая ситуация!!!
Код

p:=1;
case p of
  1 : Form1.Close;
end;

не заходит в case  smile 

Это сообщение отредактировал(а) VladBD - 22.1.2007, 20:52
PM MAIL   Вверх
Alexeis
Дата 22.1.2007, 21:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



я такое лечу всегда при помощи директивы
{$O-} поставленной в начале кода.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Alex
Дата 22.1.2007, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



ох, а можно увидеть весь код процедуры, а то тут уже такого по наговорили...

Это сообщение отредактировал(а) Alex - 22.1.2007, 22:12


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
skyboy
Дата 22.1.2007, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 4
Всего: 260



VladBD, отключи оптимизацию либо так:
Цитата(Alexeis @  22.1.2007,  20:32 Найти цитируемый пост)
{$O-} поставленной в начале кода. 

либо так:
Цитата(Bose @  22.1.2007,  17:50 Найти цитируемый пост)
Оптимизация должна быть выключена:(Project->Options->Compiler->Code Generation->галочка Optimization выключена, в Delphi 6) 

В чем проблема? разве странно, что при компиляции конструкции типа if false then .... ; case 1 of ... оптимизатором попросту выбрасываются?
PM MAIL   Вверх
VladBD
Дата 22.1.2007, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 19.11.2006

Репутация: 1
Всего: 5



Цитата
case 1 of ... оптимизатором попросту выбрасываются? 

может я что-то упустил - но когда принудительно стоит оператор, который явно должен выполнится. И что за такой оптимизатор, который посчитал что программе необязательно выполнять мои команды...
ладно. полный код дам и опыты буду ставить завтра.

кстати на рисунке слева синие точки, которые он ставит после компиляции - так вот он реально эти строки только и выполняет...

Это сообщение отредактировал(а) VladBD - 22.1.2007, 22:54
PM MAIL   Вверх
Alex
Дата 22.1.2007, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 80
Всего: 162



Цитата(VladBD @  22.1.2007,  23:51 Найти цитируемый пост)
может я что-то упустил - но когда принудительно стоит оператор, который явно должен выполнится.

 smile да в этом и дело, что умный и правильный оптимизатор, что толку от выполнения команд, результаты, которых ни где не используются...


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
skyboy
Дата 22.1.2007, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 4
Всего: 260



Цитата(Alex @  22.1.2007,  22:00 Найти цитируемый пост)
что толку от выполнения команд, результаты, которых ни где не используются... 

...или результат выполнения которых очевиден...
например, a:= 1 + 5;
надо создать две ячейки типа longint, просуммировать и записать в переменную? или, может, сэкономить несколько ячеек памяти, полдесятка тактов на каждый подход и написать a:= 6; ?! Так как? компилятор, по-твоему, должен быть тупой? вперед - отключай оптимизацию! только зачем ругать компилятор?
PM MAIL   Вверх
KEM
Дата 22.1.2007, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 152
Регистрация: 28.1.2005

Репутация: нет
Всего: 2



Помню была такая же проблема. Брэйки не срабатывали ни на одной операции. Непомню что поменял в настройках(вернул на место) + ребут и всё, так и не понял в чём была проблема.
--------------------
Мы растворяем сознание жизни, реальностью стал бешеный ритм...
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0641 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.