C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Капризы отладчика, Куда пропадает точка останова?
dvv
Отправлено: 17.05.2005, 19:13


Дежурный стрелочник

Группа: Участник
Сообщений: 43



Создаем новое приложение. По событию OnMouseDown формы описываем следующий код:
CODE


void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y)
{
if(X==Y)
 {
  switch(X)
   {
    case 0 : X=Y;break;
   }
  }
else
 {
   ShowMessage("Сообщение 1");
   ShowMessage("Сообщение 2");
 }
}


На строке ShowMessage("Сообщение 1"); нажимаем F5 (cтавим точку останова).
Запускаем приложение, кликаем мышей по форме.
Лично у меня, отладчик проскакивает точку останова.
Почему и как с этим бороться?
Gedeon
Отправлено: 17.05.2005, 19:44


Ветеран

Группа: Модератор
Сообщений: 1742



Во первых поставьте точку останова на
CODE

void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
     TShiftState Shift, int X, int Y)

Останавливается?
А во вторых попробуйте сделать билд проекта. И потом еще раз проверить.
Guest
Отправлено: 18.05.2005, 09:13


Не зарегистрирован







Попробовал. На void __fastcall TForm1::FormMouseDown(... останавливается. Перестройка проекта не помогла.
А кого-нибудь отладчик станавливается в первом сообщении?
Gedeon
Отправлено: 18.05.2005, 09:40


Ветеран

Группа: Модератор
Сообщений: 1742



У меня получалось, если у Вас не получается, значит все время тыкаете в диагональ, посмотрите значения переменных на входе функции.
Guest
Отправлено: 18.05.2005, 13:52


Не зарегистрирован







Вопрос не в том, работает программа или нет.
Вопрос в том почему отладчик не останавливается на строке "Сообщение 1". С подобной ситуацией (когда отладчик не хочет останавливаться где ему предписано) я сталкивался неоднократно. Вот я и хочу узнать: или у меня Buider глючит, или в чем тут дело?
Guest
Отправлено: 18.05.2005, 13:57


Не зарегистрирован







Глючит (или приложение доэтой точки не доходит).
dvv
Отправлено: 18.05.2005, 14:14


Дежурный стрелочник

Группа: Участник
Сообщений: 43



Приложение выдает два сообщения: "Cooбщение 1", затем "Сообщени 2". Из этого я заключаю что программа работает нормально. А теперь попробуйте прогнать у себя вышеописанный код. И поставте точку останова. И скажите: у вас отладчик делает остановку?
Guest
Отправлено: 18.05.2005, 14:29


Не зарегистрирован







Делает.
А вы не забыли включить отладку?
dvv
Отправлено: 18.05.2005, 15:12


Дежурный стрелочник

Группа: Участник
Сообщений: 43



Нет, отладку я не забыл включить. У меня на строке "Сообщение 2" (да и на остальных строках программы) отладчик останавливается без проблем.
Р.S. А между прочим С++Builder у меня купленный. Нудули буржуи.
Guest
Отправлено: 18.05.2005, 15:21


Не зарегистрирован







QUOTE

Нет, отладку я не забыл включить. У меня на строке "Сообщение 2" (да и на остальных строках программы) отладчик останавливается без проблем.
Р.S. А между прочим С++Builder у меня купленный. Нудули буржуи.

sad.gif Сочувственно разводит руки.
Зато можно попинать службу поддержки.
С уважением avc.

Вернуться в Вопросы программирования в C++Builder