Дебъгер

от Уикипедия, свободната енциклопедия
Направо към: навигация, търсене

Дебъгер или дебъгър (от английското debugger) е компютърна програма за проследяване на процеса на изпълнение на компютърни програми (дебъгване). Обикновено целта на такова проследяване е намиране на грешки, които се наричат „бъгове“.

Този тип програми се използва от програмисти за тестване на новосъздадени продукти, за да се предотвратят възможни неизправности в процеса на работа на дадения продукт. Когато програмата се изпълнява в дебъг-режим, тя е значително забавена, за да може да се открие момента на възникването на дадения „бъг“.

Програмна грешка или „бъг“ възниква когато дадена програма не може да продължи с изпълнението си по нормален начин. Например програмата може да се опитва да използва ресурси, които са забранени или вече не съществуват.Също така е възможно в написания код на дадената програма да има грешка в някой алгоритъм или функция, което ще доведе до „Crash“ (на български „счупване“) което е еквивалентно и на „бъг“.

Дебъгване[редактиране | edit source]

Дебъгване е самия процес на откриване на грешки с една програма в друга. Чрез специални програми които могат да изпълняват и проверяват в себе си продуктите на софтуерните инженери. Някои дебъгери могат да правят и по сложни неща, например да изпълняват програмата стъпка по стъпка (Stepping) или да я спрат в даден момент чрез Break Ponit (брейк пойнт е точка която се поставя на даден ред в програмния код с цел проследяване на стойностите на дадени променливи).

Други дебъгери имат способността да променят състоянието на програмата докато е стартирана, което от своя страна се изразява в промяна на някоя от стойностите на участващи променливи в нея и дори на някои функции. По този начин е възможно по-нататъшното изпълнение на програмата и изследване на поведението ѝ с новозададените стойности на променените параметри. Осигурява се и възможност да бъде стартирана програмата на различни места от програмният код, с цел да се избегне срив или логическа грешка породена от предхождащ код по време на изпълнението ѝ.

Обратно дебъгване[редактиране | edit source]

Някои дебъгери се характеризират с особеност наречена „обратно дебъгване“, което се отличава от нормалният режим на дебъгване по това, че се извършва в ред – обратен на хронологията на изпълнение на дадена програма (отзад-напред). Няколко дебъгера включват тази функционалност за езици като C#, Visual Basic .NET, както и някои други езици с изключение на C++. Такива са Visual Studio Ultimate Edition (версия от 2010 нагоре), а за JAVA - gdb ver.7.0+, както и "Omniscient Debugger". Дебъгването в обратен хронологичен ред е много удобно за откриването на някои специфични проблеми, но все още не се използва толкова често.

Видове Дебъгери[редактиране | edit source]

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

Конзолен Дебъгер

Примери за Дебъгващи програми[редактиране | edit source]

Някои от наи използваните програми за дебъгване са : Intel Debugger (IDB), LLDB, Microsoft Visual Studio Debugger, Valgrind Valgrind, WinDbg WinDbg.