Процедура Timer, отладка
От: tdebug Беларусь  
Дата: 16.04.05 17:08
Оценка:
На форме есть процедура таймера, код процедуры очень хотелось бы отладить, посмотреть значения переменных в процессе работы, т.е. просто ы watch их добавить. Но как это сделать? Брейкпоинты игнорируются, значения переменных в watch недоступны. Может надо какую-то опцию изменить чтобы туда добраться? Подскажите плиз.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Re: Процедура Timer, отладка
От: Softwarer http://softwarer.ru
Дата: 16.04.05 17:12
Оценка:
Здравствуйте, tdebug, Вы писали:

Подозреваю, таймер тут не при чем. Механизм его срабатывания ничем не отличается от, допустим, TButton.OnClick.

Первый вопрос — отлаживается ли какой-нибудь другой код в том же unit-е?
Re[2]: Процедура Timer, отладка
От: tdebug Беларусь  
Дата: 16.04.05 17:25
Оценка:
Здравствуйте, Softwarer, Вы писали:

S>Подозреваю, таймер тут не при чем. Механизм его срабатывания ничем не отличается от, допустим, TButton.OnClick.

S>Первый вопрос — отлаживается ли какой-нибудь другой код в том же unit-е?

Да, в самом деле, нигде в этом юните отладка не работает...
Подскажите пожалуйста как помочь горю
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Re[3]: Процедура Timer, отладка
От: Softwarer http://softwarer.ru
Дата: 16.04.05 17:40
Оценка:
Здравствуйте, tdebug, Вы писали:

Я знаю два возможных варианта. Первый — отладка глобально отключена (опция Tools / Debugger Options / Integrated Debugging, возможно, еще что-нибудь в том же духе). Второй — бардак в исходниках. Об этом поподробнее.

Такие эффекты получаются, когда теряется связь между исходником (который ты правишь) и объектным кодом (dcu-файлом), линкуемым в программу. Объяснять механику особо нет времени, поэтому ограничусь рекомендациями:

1) Явно включить файл в проект (использовать команду Add To Project). Настройку Search Path — затереть и нигде никогда не использовать.

2) Если твой модуль называется XXXX.pas — удалить все файлы XXXX.pas, которые найдутся поиском по всем дискам твоей машины. Исключая единственный — "правильный", который ты редактируешь.

3) Аналогично найти и удалить все файлы XXXX.dcu

4) Если ты делаешь собственные пакеты — убедиться, что этот файл не включен ни в один из пакетов. Перебилдить их и убедиться в отсутствии варнинга "Файл XXXX неявно включен в пакет".

5) Перезагрузиться загрузить единственно правильный вариант файла, перекомпилироваться. Можно добавить что-нибудь — скажем, ShowMessage — чтобы убедиться, что в программу вкомпилирован именно тот вариант, который открыт в редакторе.

Если после этого отладка не будет работать — сильно удивюсь
Re[4]: Процедура Timer, отладка
От: tdebug Беларусь  
Дата: 16.04.05 17:51
Оценка:
Здравствуйте, Softwarer, Вы писали:


S>Я знаю два возможных варианта. Первый — отладка глобально отключена (опция Tools / Debugger Options / Integrated Debugging, возможно, еще что-нибудь в том же духе). Второй — бардак в исходниках. Об этом поподробнее.


Спасибо! Шаманство помогло, поудалял все dcu и левые файлы
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Re[5]: Процедура Timer, отладка
От: Softwarer http://softwarer.ru
Дата: 16.04.05 17:57
Оценка: 1 (1)
Здравствуйте, tdebug, Вы писали:

Это не шаманство, это ликвидация собственноручно созданного бардака. В результате у компилятора не остается другого выхода, кроме как работать "правильно". В кавычках — потому что он и так работает правильно, просто его "правильно" оказывается не тем, что ожидал программист.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.