1. Грешка

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

Една от първите думи, с които ще се запознаете, е " бъг ", т.е. насекомо . В контекста на разработката на софтуер тази дума означава грешка в програма, случай на програмата, която прави нещо нередно or не съвсем правилно. Или просто работи странно.

Но ако програмист смята, че програмата, въпреки странното си поведение, прави точно това, което трябва, тогава той or тя обикновено декларира нещо като "това не е грешка, това е функция". Което породи куп интернет мемета.

Като цяло може да има произволен брой причини за софтуерен дефект: всичко от грешки в логиката на програмата, печатни грешки и неправилна програмна архитектура, чак до проблеми в компилатора. Във всеки случай програмистите трябва да поправят Howто реални грешки, така и всяHowви други "недостатъци" в своите програми.

Историята на думата "бъг"

Най-често срещаната version за произхода на думата "бъг" е нещо като легенда.

През септември 1945 г. учени от Харвардския университет тестват един от първите компютри, Mark II. Компютърът не работеше правилно и в процеса на проверка на всички платки откриха молец, заседнал между контактите на електромеханично реле.

Извлеченото насекомо беше залепено в технически дневник, придружено от този надпис: „Първи действителен случай на открита грешка“.

Смята се, че тази забавна история е началото на употребата на думата „ бъг “ за означаване на грешка, а думата „ отстраняване на грешки “ е станала синоним на премахване на грешки.


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

За да коригират грешки в своите програми, програмистите използват специални програми, наречени дебъгери . Някои от тези програми дори знаят How да отстраняват грешки в машинния code.

Java програмистите използват IDE за отстраняване на грешки в своите програми. Като IntelliJ IDEA, Eclipse и NetBeans. IntelliJ IDEA е най-мощната IDE, така че ще преминем през процеса на отстраняване на грешки, като я използваме като пример.

IntelliJ IDEA може да изпълнява вашата програма в два режима:

Режими на изпълнение Икона на лентата с инструменти Бързи клавиши
Нормално изпълнение Shift+F10
Стартирайте в режим на отстраняване на грешки Shift+F9

Вече сте запознати с нормалното изпълнение: програмата стартира, работи и излиза. Но режимът за отстраняване на грешки има много изненади за вас.

Режим на отстраняване на грешки

Режимът за отстраняване на грешки ви позволява да преминете стъпка по стъпка през цялата програма. Или по-точно, позволява ви да се движите ред по ред . Нещо повече, можете да наблюдавате стойностите на променливите на всяка стъпка от програмата (след изпълнението на всеки ред code). И дори можете да промените техните стойности!

За да получите дори минимална представа за отстраняване на грешки в програма, трябва да научите три неща:

  • Точки на прекъсване
  • Стъпка по стъпка изпълнение
  • Проверка на стойността на променливите

3. Точки на прекъсване

IDE ви позволява да поставите специални маркери, наречени точки на прекъсване във вашия code. Всеки път, когато програма, работеща в режим на отстраняване на грешки, достигне ред, маркиран с точка на прекъсване , изпълнението ще спре на пауза.

За да поставите точка на прекъсване на определен ред, просто трябва да щракнете вляво от реда в IDEA. Пример:

Точки на прекъсване IntelliJ IDEA

Линията ще бъде маркирана с точка на прекъсване и IntelliJ IDEA ще я подчертае в червено:

маркиран с точка на прекъсване

Второ щракване с мишката върху прозореца отляво на codeа ще премахне точката на прекъсване .

Точка на прекъсване може също да бъде поставена на текущия ред, просто като използвате комбинацията от клавишни комбинации Ctrl+ F8. Натискането Ctrlна + F8отново на ред, който вече има точка на прекъсване, ще го изтрие.


4. Стартирайте програмата в режим на отстраняване на грешки

Ако имате поне една точка на прекъсване във вашата програма, можете да стартирате програмата в режим на отстраняване на грешки, като натиснете Shift+ F9or щракнете върху „иконата за грешка“.

След стартиране в режим на отстраняване на грешки програмата работи Howто обикновено. Но веднага щом достигне ред от code, маркиран с точка на прекъсване , той ще спре. Пример:

Стартирайте програмата в режим на отстраняване на грешки

В горната половина на екранната снимка виждате програмен code с две точки на прекъсване. Изпълнението на програмата спря на ред 5, който е маркиран със синя линия. Ред 5 все още не е изпълнен: все още нищо не е изведено на конзолата.

В долната половина на екрана виждате панелите за отстраняване на грешки: прозорецът за отстраняване на грешки , прозорецът на конзолата  и набор от бутони за режим на отстраняване на грешки.

Можете да отмените паузата на вашата програма (т.е. да продължите изпълнението) като натиснете бутона Възобновяване на програмата в долния ляв прозорец (or натиснете F9).

Стартирайте програмата в режим на отстраняване на грешки 3

Ако натиснете този бутон (or F9), програмата ще продължи да работи, докато не срещне следващата точка на прекъсване or приключи. Ето Howво виждаме след натискане на бутона:

Стартирайте програмата в режим на отстраняване на грешки 4

Програмата спря на втората точка на прекъсване и думите Helloи andмогат да се видят в конзолата. Това е знак, че сме изпълнor само два от трите реда, които показват изход на екрана.


5. Стъпка по стъпка изпълнение

Ако вашата програма работи в режим на отстраняване на грешки, можете също да преминете през нея: една стъпка е един ред . Има два бързи клавиша за изпълнение стъпка по стъпка: F7и F8: всеки предизвиква изпълнението на текущия ред code. Но първо все пак трябва да спрете програмата си с точка на прекъсване .

Ако искате да изпълните вашата програма ред по ред, трябва да поставите точка на прекъсване в началото на main()метода и да го стартирате в режим на отстраняване на грешки.

Когато програмата спре, можете да започнете да я изпълнявате ред по ред. Едно натискане на F8клавиша изпълнява един ред.

Ето How изглежда нашата програма, след като спре и натиснем F8веднъж клавиша:

Стартирайте програмата в режим на отстраняване на грешки.  Стъпка по стъпка изпълнение

Първият ред на основния метод вече е изпълнен, а текущият ред е вторият ред. Можете също така да видите в долната част на екранната снимка, че думата Helloвече е показана на екрана.


6. Изпълнение стъпка по стъпка с навлизане в методите

Ако сте написали свои собствени методи в програмата и искате изпълнението да премине във вашите методи в режим на отстраняване на грешки, т.е. искате да "стъпите в метода", тогава трябва да натиснете F7instead of F8.

Да приемем, че преминавате през програмата и сега сте спрели на ред 4. Ако натиснете F8, IDEA просто ще изпълни четвъртия ред и ще премине към петия.

Изпълнение стъпка по стъпка с навлизане в методи 2

Но ако натиснете F7, IDEA ще влезе в main2()метода:

Изпълнение стъпка по стъпка с навлизане в методи 3

Много е просто. Ако наистина не ви интересува Howво се случва вътре в даден метод or How, тогава натиснете F8. Ако е важен, натиснете F7и преминете през целия му code.