Отстраняване на грешки в програма
Отстраняване на грешки в програма
Да предположим, че имаме следния код
Трябва да се научите как да работите с дебъгера: стъпка по стъпка през целия код, задайте точки на прекъсване на програмата, прегледайте стойностите на променливите по време на работа.
Визуално студио
В Debug | Стъпка байпас, или натиснете F10. Ще получите нещо като снимката по-долу. Жълтата стрелка показва кой оператор ще бъде изпълнен. С помощта на стъпков байпас (F10), стъпка по стъпка (F11) и стъпка по стъпка (Shift + F11) можете да изпълните програмата.
Операторът изпълнява байпасна стъпка, но не влиза в нея. Например, ако това е извикване на функция, то ще бъде направено, но няма да влезем във функцията.
Стъпка с влизане ви позволява да "влезете" в оператора, ако е трудно. Например отидете на функция, която се изпълнява.
Стъпка с изход ви позволява да се върнете на по-високо ниво, ако направихме стъпка с вход.
Полето "Локално" по-долу показва текущата стойност на локалните променливи. Боклукът се съхранява в стойностите при извикване на функцията.
Натиснете F10, за да стигнете до ред 23, където се извиква функцията printArray. Ако натиснете F11, той влиза във функцията printArray.
За да излезете от тази функция, можете да натиснете Shift + F11.
Ако част от програмата трябва да бъде пропусната, тогава се задава точка на прекъсване (точка на прекъсване, "точка на прекъсване"). За да направите това, кликнете върху левия поле до реда, където искате да спрете, или натиснете F9. Можете да спрете само при оператора, не можете да спрете, например, при дефиницията на променлива или празен ред. В този случай дебъгерът ще "пусне" точката на прекъсване до най-близкото валидно място.
След като точката на прекъсване е зададена, можете да натиснете F5. Програмата ще работи, докато не достигне точка на прекъсване. Това е особено полезно, когато трябва да заобиколите въвеждането на данни.
Точката на прекъсване може да има редица условия, като брой на посещенията, филтри, действия, които да се предприемат при спиране и т.н. За да зададете допълнителни свойства, щракнете с десния бутон върху точката и в падащото меню изберете желания елемент.
Да предположим например, че искаме да спрем изпълнението на програмата, когато стойността на локалната променлива i вътре в цикъла във функцията стане 2. За да направите това, ние записваме съответното условие