Page 1 of 1

Совет по отладке скрипта.

Posted: 05.05.2011 9:24
by shinma
Мне очень пригодилось применение функции AddToSystemJournal. Если её выставить везде вдоль текста скрипта. вы можете отследить действия скрипта по сообщениям в системном журнале, и понять где у вас происходит действие которое вы не предполагали.

вот например:

Code: Select all

program povtor;
var
i,n:integer;

procedure easy; 
begin
i:=0;
n:=1;
repeat 
i:=i+1;
AddToSystemJournal('Процедура easy. i= '+inttostr(i));
n:=n+1;
AddToSystemJournal('Процедура easy. n= '+inttostr(n));
until (i=9) or (n=8);
end;

begin
easy;
AddToSystemJournal('Процедура easy выполнена');
end.

Posted: 05.05.2011 9:29
by Vizit0r

Posted: 05.05.2011 9:36
by shinma
ыыыы уделал меня ))) У меня одно оправдание я тока вторую неделю занялся программированием и вдобавок еще учу не паскаль и си, а программирование в стелсе. Жалко только учусь на своих ошибках, а не читаю чужие.)))

Posted: 05.05.2011 9:48
by Vizit0r
Vizit0r[SG] (10:32:44 5/05/2011)
ох уж эти изобретатели велосипедов

Vizit0r[SG] (10:33:29 5/05/2011)
фак не читают, потом героически преодолевают сложности и с гордостью об этом пишут :)

Posted: 05.05.2011 15:33
by Beren
мне немного не нравится, что в модулях вылавливать ошибки трудно.
стелс пишет unit такой-то не найден или содержит ошибку, без указания строки.

Posted: 05.05.2011 16:11
by Vizit0r

Code: Select all

Resu lt := S1 + ' ' + S2;

Code: Select all

17:10:50:231 [NDW - test]: Compiler: [Error] (Unit2 at 11:1):  Unknown identifier 'Resu'
17:10:50:231 [NDW - test]: Compiler: [Error] (Unit1 at 5:6):  Unit 'Unit2' not found or contains errors
вон первая ошибка - это разве не указание на место ошибки?

Если у тебя что-то иное - давай примеры.

Posted: 05.05.2011 16:32
by Beren
туплю, да)))

Posted: 08.05.2011 13:29
by Alex
возможно ли сделать вот так:

17:10:50:231 [NDW - test]: Compiler: [Error] ([url=http://#]Unit2 at 11:1[/url]): Unknown identifier 'Resu'

что бы координаты ошибки были ссылкой открывающей встроенный редактор скрипта в той строчке?

Posted: 08.05.2011 14:01
by Vizit0r
можно, но очень сложно и потенциально сильно глючно.
вердикт - нафиг.