Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.15;
Скачать: CL | DM;

Вниз

отладчик на некоторые строчки не попадает........   Найти похожие ветки 

 
MIg ©   (2002-07-19 17:23) [0]

Ставлю на строчку метку для отладки. А вместо галочки крестик появляется. Оказывается это в нескольких местах так. Синих точек нету. Две процедура вооще не подхватываются (синих точек вообще нету).
А так вот как выглядит:

. t:=tim*2;
Kka:=0; //и эту строчку программа проскакивает
. p:=SputCharac_g[2,5]*(1-SputCharac_g[2,6]*SputCharac_g[2,6]);
. u:=SputCharac_g[perem1,7]*pi/180+t*2*Pi/period;

Идут сплошные глюки, т.к. переменные не присваиваются и вообще......

Такое у меня было как-то. Но тогда я из текстового файла переносил части программы. Пришлось все равно все перенабирать.
А здесь я из своей же программы копировал. В одном месте
. Kka:=0; точка есть (оттуда я и копировал эту строчку)
А в другом
Kka:=0; нету и ничего не присваивается.......

Подскажите пожалуйста в чем и где причину искать.
Спасибо.


 
Виктор Щербаков ©   (2002-07-19 17:32) [1]

Хм...
А может компилятор подсказки тебе выдавал о неиспользуемых значениях переменных?
Если это так, то будь уверен, оптимизатор (если он включен) выкинул при компиляции ненужный код.


 
drpass ©   (2002-07-20 01:24) [2]

Даже если и не выдавал - при включенной оптимизации компилятор основательно вычищает код - отсюда и невозможность попасть на эту строчку. В готовой программе ее просто нет. Выключи оптимизацию (project-options-compiler-optimization) и перекомпилируй программу через команду Build.


 
NailMan ©   (2002-07-20 01:55) [3]

Скорее всего, в этот кусок программы программа никуда ек попадет, и компилятор выводит зеленый breakpoint с крестиком.
Такое может быть если приведеный тобой код находится в процедуре, которая никогда не вызывается или в нулевом цикле, например:
A:=0;
...
For i:=1 to a do
begin
....
end;

Вообще-то о нулевых циклах кромпилятор должен ругаться.

Так что смотри вызываются ли твои процедуры вообще и пройди программы пошагово(F8).


 
MIg ©   (2002-07-21 04:47) [4]

В этом-то и все чудеса, что логика тут совсем не помогает.....
Циклов в этой процедуре вообще нету. Там три действия и все..
А по F8 эту строчку перескакивает и ничего не присваивается.....

Проюовал даже так:
Есть работающая процедура
Procedure Umn_matr(........);
begin
. *********
. *********
end;

и там, где точки не стоят
Procedure Vec(........);
begin
*********
*********
end;

Не работающую я закомментировал и вместо нее поставил предыдущую и название поменял. И что?......
Procedure Umn_matr1(........);
begin
*********
*********
end;

Точки исчезли!?!?!?!?........
На Procedure Umn_matr(........); точки есть
А Procedure Umn_matr1(........); нету.......Процедуры абсолютно одинаковые...........

А со строчками примерно то же самое.....
if Radiobutton1.Checked=true then
begin
. t:=tim*2;
. Kka:=0; //строчка работает
. p:=SputCharac_g[2,5]*(1-SputCharac_g[2,6]*SputCharac_g[2,6]);
. u:=SputCharac_g[perem1,7]*pi/180+t*2*Pi/period;
end;
if Radiobutton2.Checked=true then
begin
. t:=tim*2;
Kka:=0; // эту строчку программа проскакивает
. p:=SputCharac_g[2,5]*(1-SputCharac_g[2,6]*SputCharac_g[2,6]);
. u:=SputCharac_g[perem1,7]*pi/180+t*2*Pi/period;
end;

Я всего лишь первый код скопировал и заменил Radiobutton1 на Radiobutton2....И точка пропала...Бред какой-то......

На работе один знакомый, который на Buildere программирует, сказал, что у него такое тоже бывает и сам не знает от чего. Он закрывает Builder, заходит опять и все компиллирует заново. И, говорит, глюк исчезает.
Попробую-ка я оптимизацию убрать......





 
NailMan ©   (2002-07-21 04:59) [5]

Мда...бывает...
У меня похожие глюки были когда я использовал файловые хандлеры типа F:textfile...File of; после выхода из процедуры выдавался AV. Перешел на Integer-хандлеры и бреда не стало.

Но такие глюки как у тебя я встречаю впервые...


 
MIg ©   (2002-07-22 11:22) [6]

Отключил я оптимизацию и все перекомпиллировал. Внутри программы все стало нормально, т.е. переменные вроде присваиваются....
Но в двух процедурах все равно точек нет.
Покопаюсь еще....

Главное прогресс есть. С мертвой точки сдвинулся...

Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2002.08.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
1-48019
Alex
2002-08-02 22:48
2002.08.15
Шутка юмора


3-48001
DmitryS
2002-07-27 13:26
2002.08.15
Как оптимизировать запрос?


1-48199
Nikoss
2002-08-02 23:22
2002.08.15
Три вопроса. Работа с двумерным массивом


3-47940
Дмитрий Жуков
2002-07-23 11:59
2002.08.15
Почему может виснуть многопоточный сервер приложений?


1-48207
Vovaka
2002-08-02 09:02
2002.08.15
Помогите. Нужен Delphi 6 Enterprise Update Pack 2 +