Съдържание

# Отстраняване на грешки в програма на Basic

## Точки на прекъсване и постъпково изпълнение

Чрез постъпковото изпълнение можете да проверите за грешки всеки ред от програма на Basic. Грешките се забелязват лесно, тъй като незабавно виждате резултата от всяка стъпка. Текущият ред е обозначен с показалец в колоната за точки на прекъсване. Освен това, ако искате програмата да бъде прекъсната на определено място, можете да зададете точка на прекъсване.

За да поставите или премахнете точка на прекъсване на даден ред, щракнете двукратно пред него в колоната за точки на прекъсване. Когато изпълнението на програмата достигне до такъв ред, то се прекъсва.

Постъпковото изпълнение чрез иконата Стъпка навътре позволява проследяване на изпълнението на извикваните процедури и функции.

При изпълнението процедура по процедура с иконата Стъпка напред процедурите и функциите се изпълняват като единични стъпки.

### Свойства на точка на прекъсване

Свойствата на всяка точка на прекъсване са достъпни чрез контекстното й меню, което се отваря с щракване върху нея с десния бутон в колоната за точки на прекъсване.

За да разрешите или забраните точка на прекъсване, изберете Активна от контекстното й меню. Когато точката на прекъсване е забранена, изпълнението на програмата не спира на това място.

Изберете Свойства от контекстното меню на точка на прекъсване или Точки на прекъсване от контекстното меню на колоната за точки на прекъсване, за да отворите диалоговия прозорец Точки на прекъсване. В него можете да задавате други настройки за точките на прекъсване.

Списъкът показва всички точки на прекъсване със съответните номера на редове в изходния код. Можете да включите или изключите избрана точка на прекъсване, като отметнете или изчистите квадратчето Активна.

Срещу Брой пасове можете да зададете колко пъти точката на прекъсване да бъде подмината, преди да се прекъсне програмата. Ако оставите подразбираната стойност, 0, изпълнението спира при всяко достигане на точката на прекъсване.

За да премахнете точката на прекъсване от програмата, щракнете върху Изтриване.

## Наблюдаване стойностите на променливи

Можете да следите стойностите на променлива, като я добавите в прозореца Наблюдение. За да добавите променлива към списъка с наблюдавани променливи, въведете името ѝ в полето Наблюдение и натиснете Enter.

Стойностите на променливите се показват само ако са в текущия обхват. За променливите, които не са дефинирани в текущата точка от изходния код, вместо стойност се изписва „Out of Scope“ („Извън обхват“).

В прозореца „Наблюдение“ можете да включвате и масиви. Ако в текстовото поле „Наблюдение“ въведете име на променлива масив без индекс, ще се покаже съдържанието на целия масив.

Ако по време на изпълнение задържите показалеца на мишката върху предварително дефинирана променлива в редактора, съдържанието на променливата ще се покаже в изскачащо прозорче.

## Прозорецът за стека

Позволява преглеждане на йерархията на извикване на процедури и функции. Можете да видите кои процедури и функции кои други процедури и функции са извикали в текущия момент от изпълнението на изходния код.

## Списък на грешките по време на изпълнение

1 Възникнало е изключение

2 Синтактична грешка

3 Return без Gosub

4 Неправилни входни данни, опитайте отново

5 Невалидно извикване на процедура

6 Препълване

7 Недостиг на памет

8 Масивът вече е оразмерен

9 Индекс извън дефинирания обхват

10 Дублирана дефиниция

11 Деление на нула

12 Променливата не е дефинирана

13 Несъответствие на типовете

14 Невалиден параметър

18 Процесът е прекъснат от потребителя

20 Продължаване без грешка

28 Няма повече памет за стек

35 Процедурата или функцията не е дефинирана

48 Грешка при зареждане на DLL

49 Неправилна конвенция за обръщение към DLL

51 Вътрешна грешка

52 Лошо име или номер на файл

53 Файлът не е намерен

54 Неправилен режим на файл

55 Файлът вече е отворен

57 Входно-изходна грешка на устройство

58 Файлът вече съществува

59 Неправилна дължина на запис

61 Дискът е пълен

62 Четене след EOF

63 Неправилен номер на запис

67 Твърде много файлове

68 Устройството не е налично

70 Отказан достъп

71 Дискът не е готов

73 Не е реализирано

74 Не е възможно преименуване към друго устройство

75 Грешка при достъп до път/файл

76 Пътят не е намерен

91 Обектна променлива без стойност

93 Невалиден низ за шаблон

94 Не е разрешено използване на нула

250 Грешка в DDE

280 Очаква се отговор на DDE връзка

281 Няма достъпни канали за DDE

282 Нито едно приложение не е отговорило при иницииране на DDE връзка

283 Твърде много приложения са отговорили при иницииране на DDE връзка

284 DDE каналът е заключен

285 Външно приложение не може да изпълни операция на DDE

286 Изтекло време за изчакване на DDE отговор

287 Потребителят е натиснал ESCAPE по време на DDE операция

288 Външното приложение е заето

289 DDE операция без данни

290 Данните са в неправилен формат

291 Външното приложение е било прекратено

292 DDE връзката е прекъсната или променена

293 DDE метод е извикан без отворен канал

294 Невалиден формат на DDE връзка

295 DDE съобщението е било загубено

296 Поставянето на връзката вече е извършено

297 Режимът на връзка не може да бъде зададен поради невалидна тема на връзката

298 DDE изисква файла DDEML.DLL

323 Модулът не може да бъде зареден, невалиден формат

341 Невалиден индекс на обект

366 Обектът е недостъпен

380 Неправилна стойност на свойство

382 Свойството е само за четене

394 Свойството е само за писане

420 Невалидно обръщение към обект

423 Не е намерено свойство или метод

424 Изисква се обект

425 Невалидна употреба на обект

430 Обектът не поддържа OLE Automation

438 Обектът не поддържа това свойство или метод

440 Грешка в OLE Automation

445 Даденият обект не поддържа това действие

446 Даденият обект не поддържа наименувани аргументи

447 Даденият обект не поддържа текущите настройки за локал

448 Наименуваният аргумент не е намерен

449 Аргументът е задължителен

450 Грешен брой аргументи

451 Обектът не е списък

452 Невалиден пореден номер

453 Указаната функция в DLL не е намерена

460 Невалиден формат на клипборда

951 Неочакван символ:

952 Очаква се:

953 Очаква се символ

954 Очаква се променлива

955 Очаква се етикет

956 Стойността не може да бъде приложена

957 Променливата вече е дефинирана

958 Процедурата или функцията вече е дефинирана

959 Етикетът вече е дефиниран

960 Променливата не е намерена

961 Масивът или процедурата не е намерена

962 Процедурата не е намерена

963 Етикетът не е дефиниран

964 Неизвестен тип на данните

965 Очаква се Exit

966 Операторният блок все още е отворен: липсва

967 Скобите не си съответстват

968 Символът вече е дефиниран различно

969 Параметрите не съответстват на процедурата

970 Невалиден знак в число

971 Масивът трябва да бъде оразмерен

972 Else/Endif без If

973 не се допуска в процедура

974 не се допуска извън процедура

975 Спецификациите за размерност не съвпадат

976 Неизвестна опция:

977 Константата е дефинирана повторно

978 Програмата е твърде голяма

979 Не са разрешени низове и масиви

1000 Обектът няма такова свойство

1001 Обектът няма такъв метод

1002 Пропуснат е задължителен аргумент

1003 Грешен брой аргументи

1004 Грешка при изпълнение на метод

1005 Не е възможно да се зададе свойство

1006 Не е възможно да се определи свойство