Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
ВнизDebuging troubles Найти похожие ветки
← →
savyhinst © (2008-06-24 14:22) [0]Здраствуйте.
У меня тут траблы с дебаггингом - просто жесть. Ошибка "List index out of bounds возникает у меня будто-бы
program pro;uses
Так показывает дебаггер. Как бороться?? Как узнать, где на самом деле возникает ошибка?? Никаких своих dll я не подключал, у меня вроде-бы всё в одном. Подскадите пожалуйста.
Forms,
mainform in "mainform.pas" {frm_TetrisForm},
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(Tfrm_Form, frm_Form);
Application.Run;
end. <<ЗДЕСЬ!!! =:]
Спасибо за внимание.
← →
Плохиш © (2008-06-24 14:23) [1]
> где на самом деле возникает ошибка??
В mainform.pas
← →
hinst (2008-06-24 14:35) [2]У меня еще есть там куча юнитов. И, скорее всего, ошибка в них *CRAZY*
← →
savyhinst © (2008-06-24 14:53) [3]Так как же выловить ошипку?
← →
Milk (2008-06-24 14:54) [4]
> savyhinst © (24.06.08 14:22)
Что у тебя в FormCreate, FormActivate, FormShow?
← →
savyhinst © (2008-06-24 14:58) [5]ошибка вылетает после нажатия на кнопку
procedure Tfrm_Form.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
tman.OnKeyDown(key);
WriteLog("OnKeyDown - all done");
end;
>>и тут же ошибка, так как "OnKeyDown - all done" - последнее, что есть в логе
← →
Плохиш © (2008-06-24 14:59) [6]
> savyhinst © (24.06.08 14:58) [5]
Рекомендую всё-таки ознакомиться с возможностями встроенного в делфи отладчика.
← →
savyhinst © (2008-06-24 15:02) [7]Я с ними знаком =:S
← →
Плохиш © (2008-06-24 15:09) [8]
> savyhinst © (24.06.08 15:02) [7]
> Я с ними знаком =:S
Судя по этой ветке и тем более по [5] - "слышал звон..."
← →
Palladin © (2008-06-24 15:10) [9]
> Так как же выловить ошипку?
начни с ее локализации
← →
Amoeba © (2008-06-24 15:11) [10]
> savyhinst © (24.06.08 15:02) [7]
>
> Я с ними знаком =:S
Когда врешь, надо подпрыгивать!
P.S. А ошибку ищи в 17-й строке своего кода.
← →
savyhinst © (2008-06-24 15:13) [11]*С локализации, это как?
*Я не вру 8-]
← →
Amoeba © (2008-06-24 15:17) [12]
> savyhinst © (24.06.08 15:13) [11]
>
> *С локализации, это как?
> *Я не вру 8-]
Это уже клинический случай.
← →
savyhinst © (2008-06-24 15:18) [13]Amoeba © [12]
Вы не правы. 8-]
← →
savyhinst © (2008-06-24 15:25) [14]Хм. Лично я обычно ловлю ошибки так: если есть неуловимая ошибка, то после каждой строчки ошибкоподозрительного кода я вставляю
WriteLN(logfile,"action - done"); flush(logfile);
Это обычно помогает точно узнать, где у меня ошибка. У кого-нибудь есть мнения на этот счёт?
← →
savyhinst © (2008-06-24 15:26) [15]только, ессно, слово action заменяю на описание того, что именно сделано
← →
Milk (2008-06-24 15:32) [16]На какой строке по F9 возникает List index out of bounds.
А лучше пройдись по F8 (тебе говорят об отладке, а ты отпихиваешься, типа мол сам все знаю).
← →
savyhinst © (2008-06-24 15:39) [17]ХЭЛП.
Жму F8:
begin
Application.Initialize;
Application.CreateForm(Tfrm_TetrisForm, frm_TetrisForm);
Application.Run;
end.
Жму F8:
begin
Application.Initialize;
Application.CreateForm(Tfrm_TetrisForm, frm_TetrisForm);
Application.Run;
end.
Жму F8:
begin
Application.Initialize;
Application.CreateForm(Tfrm_TetrisForm, frm_TetrisForm);
Application.Run;
end.
Жму F8:
begin
Application.Initialize;
Application.CreateForm(Tfrm_TetrisForm, frm_TetrisForm);
Application.Run;
end.
Жму F8:
тут форм появляется и начинает что-то показывать
Жму F8:
begin
Application.Initialize;
Application.CreateForm(Tfrm_TetrisForm, frm_TetrisForm);
Application.Run;
end. <<и отладчик говорит, что эксцепшн тут
← →
savyhinst © (2008-06-24 15:55) [18]хэлп!!! как откопать ашипку? можбыть, кто-нибудь знает? наверняка кто-нибудь из вас знает некоторые приёмы нахождения не3аметных ошибок?
← →
McSimm © (2008-06-24 15:57) [19]поставьте точки прерывания в процедурах (обработчиках событий)
← →
Поросенок Винни-Пух © (2008-06-24 15:59) [20]найди парные квадратные скобки. там и есть твоя ошибка.
← →
Palladin © (2008-06-24 16:00) [21]
> savyhinst © (24.06.08 15:55) [18]
ты ЭТО называешь незаметной ошибкой??
← →
savyhinst © (2008-06-24 16:17) [22]>>[21]
да, так как не видно, где она возникает
← →
Palladin © (2008-06-24 16:23) [23]а разве не ясно, что где то на этапе создания формы?
← →
Milk (2008-06-24 16:33) [24]> Palladin © (24.06.08 16:23) [23]
Сначала я тоже так подумал, однако ошибка возникает после нажатия любой клавиши (судя по [5] ошибка вылетает после нажатия на кнопку).
Не исключено что, ошибка связана с тем, что автор обращается к какому-нибудь еще не "сформированному" VCL сItemIndex:= -1;
.
← →
savyhinst © (2008-06-24 16:34) [25]нет. Почему это? Она же запускается! И показывается. И рисуется.
← →
savyhinst © (2008-06-24 16:35) [26]Хэлп. ошибка возникает у меня на нажатие пробела! На него я повесил свой обработчик. И ошибку искал в нём. Но как показал опыт, весь form.OnKeyDown работает нормально, а ошибка возникает сразу после него
← →
McSimm © (2008-06-24 16:38) [27]OnKeyUp ?
← →
Тын-Дын © (2008-06-24 16:40) [28]
> savyhinst © (24.06.08 15:39) [17]
> ХЭЛП.
> Жму F8:
Кроме F8, есть ещё F7.
← →
Palladin © (2008-06-24 16:43) [29]
> savyhinst © (24.06.08 16:34) [25]
ну а какого ты мозги паришь всем и себе в том числе? как тебя кроме как балбесом не назвать? теперь оказываеть искать нужно в реакции на пробел
← →
Palladin © (2008-06-24 16:45) [30]поди еще и таймеры есть...
← →
Amoeba © (2008-06-24 16:45) [31]
> savyhinst © (24.06.08 16:35) [26]
>
> Хэлп. ошибка возникает у меня на нажатие пробела! На него
> я повесил свой обработчик. И ошибку искал в нём. Но как
> показал опыт, весь form.OnKeyDown работает нормально, а
> ошибка возникает сразу после него
Может свой глючный код покажешь, в конце-коцов, честному народу? Или на телепатов уповаешь?
← →
Поросенок Винни-Пух © (2008-06-24 16:56) [32]лучше не надо никакого кода.
:)
← →
Тын-Дын © (2008-06-24 17:18) [33]Ну что человека гнобите? Не умеет он с отладчиком работать, так научить надо.
← →
Поросенок Винни-Пух © (2008-06-24 17:23) [34]стебаться он зато прекрасно умеет
← →
savyhinst © (2008-06-24 17:29) [35]хм. Так кто-нибудь может подсказать, как заставить отладчика увидеть ошибку там, где именно она возникает? Просто хочется, чтобы он увидел "List index out of bounds (0)" не в слове "end." , а в строке с обращением к элементу массива.
← →
Поросенок Винни-Пух © (2008-06-24 17:30) [36]тебе уже сказали русским языком. ошибка там, где квадратные скобки с переменной внутри.
← →
savyhinst © (2008-06-24 17:33) [37]у меня таких мест очень много; cмотреть - непересмотреть =:-0
← →
Поросенок Винни-Пух © (2008-06-24 17:33) [38]ну вот пересмотришь все - тогда и приходи. а щас не парь мозг людям.
← →
savyhinst © (2008-06-24 17:35) [39]хм. А что, отладчик разве не должен определить, где оно происходит?
← →
Palladin © (2008-06-24 17:36) [40]должен, но ты и ему запарил )
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.07.27;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.007 c