Debug IDEA-ում

All lectures for AM purposes
1 уровень , 786 лекция
Открыта

1. Bug

Ծրագրավորողները ունեն իրենց սեփական սլենգը, չնայած շատերը կարծում են, որ դա տեխնիկական ժարգոն է։ Ամեն դեպքում, ձեզ հարկավ չէ խուսափել ծանոթանալուն և մանրամասն ուսումնասիրելուն այն։ Եկեք սկսենք ծանոթանալ։

Առաջին խոսքերից մեկը, որով դուք ծանոթանաք, կլինի բագը, անգլերենից՝ bug (անթույլատրելի)։ Այս խոսքը նշանակում է սխալ ծրագրում, երբ ծրագիրը անհասկանալի կամ անհասկանալիորեն է աշխատում։ Կամ պարզապես տարօրինակ է աշխատում։

Միևնույն ժամանակ, եթե ծրագրավորողը կարծում է, որ ծրագիրը, թեկուզ տարօրինակ է աշխատում, բայց հենց այդպես նա էլ մտածված է, սովորաբար հայտարարում է, օրինակ, «սա բագ չէ, սա ֆիչա է»։

Սխալ աշխատելու պատճառը կարող է լինել ամեն ինչ՝ ծրագրի տրամախոհությունում սխալ, սխալներ, սխալ կառուցվածքի սխալ, մինչև կոմպիլիատորի խնդիրներ։ Ամեն դեպքում ծրագրավորողները պետք է շտկեն ինչպես իրական բագերը, այնպես էլ ծրագրում եղած բոլոր այլ «նեդոաչուները»։

Bug բառի պատմությունը

Bug բառի ծագման ամենատարածված տարբերակը այսպես կոչված լեգենդ է։

1947 թվականի սեպտեմբերին Հարվարդի Համալսարանի գիտնականները ստուգում էին Mark II համակարգիչներից մեկը։ Համակարգիչը չէր աշխատում, և ստուգման ընթացքում նրանք գտան միջատը, որին դիպել էր էլեկտրո-մեխանիկական ռելեի կոնտակտների մեջ։

Հանված միջատը պատճենվել է տեխնիկական գրքում և ուղեկցվել է գրությամբ, թե «բագ հայտնաբերվել և լուծվել է»։

Կարծում են, որ հենց այս զվարճալի պատմությունը դարձավ բագ բառի ծագման և դեբագ (debug) բառը դարձավ սխալների վերացման համաար։


2. Ծրագրի debug

Ծրագրների բագերը լուծելու համար ծրագրավորողները օգտագործում են հատուկ ծրագրեր-debugger-ներ։ Որոշ դրանք նույնիսկ կարող են debug անել մեքենայական կոդը։

Java ծրագրավորողները իրենց ծրագրերի debug-ի համար օգտագործում են IDE-ներ։ Ինչպես օրինակ՝ Intellij IDEA, Eclipse և Net Beans։ Intellij IDEA-ն այսօր ամենաուժեղ IDE-ն է, այդպիսով մենք կդիտենք debug-ի գործընթացը դրա օրինակով։

Intellij IDEA-ն կարող է գործարկել ձեր ծրագիրը երկու ռեժիմներով։

Ծրագրի գործարկման ռեժիմները Պատկերի կոնտակտ Շուտակատորդ բանալիներ
Սովորական կատարում Shift+F10
Գործարկում debug ռեժիմով Shift+F9

Սովորական ռեժիմով դուք արդեն ծանոթ եք՝ ծրագիրը կաշխատի, կավարտվի։ Իսկ debug ռեժիմն ունի ձեզ մի շարք սյորփրիզներ։

Debug ռեժիմ

Debug ռեժիմն թույլ է տալիս խոտառյալ կատարել ձեր ամբողջ ծրագիրը։ Կամ ճիշտ ասած, տող առ տող։ Դուք կարող եք տեսնել փոփոխականների արժեքները ամեն քայլին (յուրաքանչյուր կոդի տողի հետո)։ Եվ նույնիսկ փոխել դրանք։

Դեբագի արվեստում մինիմում կարողանալու համար, դուք պետք է ուսումնասիրեք երեք բան։

  • Կանգառի կետեր
  • Խոտառյալ կատարում
  • Փոփոխականների արժեքների դիտում

3. Կանգառի կետեր (Break Points)

IDE-ն թույլ է տալիս ձեզ կոդում դնել հատուկ նշումներ՝ կանգառի կետեր (break point)։ Յուրաքանչյուր անգամ, երբ ձեր ծրագիրը debug ռեժիմով կգործարկվի և կհասնի break point նշումով նշված տողին, այն դադար կնկնի։

Խորհուրդների կետը տեղադրելու համար ուղղակի IDEA-ում պետք է սեղմել նշանից դեպի այդ տողի ձախ։ Օրինակ՝

Կանգառի կետեր (Break Points)

Արդյունքում, տողը կնշվի կանգառի կետով (break point), և Intellij IDEA կնշի այն կարմիր գույնով՝

Կանգառի կետեր (Break Points) 2

Փորձելու համար կրկին սեղմեք մկնիկի դիմացյան նշմանից: Այս կերպ կանգառի կետը հանվում է:

Կանգառի կետը կարելի է դնել նաև ակտիվ տողի վրա՝ օգտագործելով շուտակատորդ բանալիների համադրություն՝ Ctrl+F8։ Կրկին սեղմելով Ctrl+F8 break point ունեցող տողի վրա՝ այն կհայտնաբերվի։


4. Ծրագրի գործարկում debug ռեժիմով (դեբագ)

Եթե ձեր ծրագրում կա գոնե մեկ կանգառի կետ, կարող եք գործարկել ծրագիրը debug ռեժիմով (Shift+F9 կամ «խոզի նշան»)։

Debug ռեժիմով գործարկելուց հետո ծրագիրը կաշխատի ինչպես միշտ։ Բայց երբ այն կհասնի break point նշումով նշված տողին, կայուն կնկնի։ Օրինակ՝

Ծրագրի գործարկում debug ռեժիմով (դեբագ)

Կոդի վերին կիսատում դուք տեսնում եք երկու կանգառի կետ ունեցող ծրագիրը։ Ծրագիրը կանգնել է 5-րդ տողի վրա՝ նշված է կապույտ գծով։ 5-րդ տողը դեռ չի կատարվել՝ կոնսոլում ոչինչ չի տպվել։

Էկրանին ցուցադրվում է debug ռեժիմի վահանակները՝ Debugger վահանակը, Console վահանակը և debug ռեժիմի ստորագրություններ․

Դուք կարող եք ձեր ծրագրի կատարումը դադարեցնել (շարունակել այն), եթե սեղմեք Resume Program կոճակը ձախ կողմի ներքևում գտնվող վահանակում (կամ սեղմեք F9 կոճակը)։

Ծրագրի գործարկում debug ռեժիմով (դեբագ) 3

Եթե սեղմեք այդ կոճակը (կամ F9), ծրագիրը կշարունակի աշխատանքը մինչև կհանդիպի հաջորդ կանգառի կետին կամ ավարտվեն։ Ահա ինչ կտեսնենք այդպիսի կոճակի սեղմելուց հետո՝

Ծրագրի գործարկում debug ռեժիմով (դեբագ) 4

Ծրագիրը կանգնած է երկրորդ կանգառի կետում, իսկ կոնսոլում ցուցադրված են Բարև և Ի բառերը՝ նշան այն բանի, որ երեք ցուցադրվող տողերից միայն երկու-ն է կատարվել։


5. Խոտառյալ կատարում

Եթե ձեր ծրագիրը աշխատում է debug ռեժիմով, դուք կարող եք կատարել այն խոտառյալ։ Մեկ քայլմեկ տող։ Խոտառյալ կատարելու համար երկու շուտակատորդ բանալի կա՝ F7 և F8։

Եթե դուք ցանկանում եք կատարել ձեր ծրագիրը տող առ տող, դուք պետք է դնեք break point ձեր ծրագրի սկիզբում՝ և գործարկեք debug ռեժիմից։

Երբ ծրագիրը կանգնի, կարող եք սկսել խոտառյալ կատարումը։ Ուղակի սեղմեք F8 և կտեսնեք ձեր կոդի կատարումը։

Ահա ինչպես կերևա մեր ծրագիրը առաջին կանգառից և F8-ի սեղմումից հետո՝

Ծրագրի գործարկում debug ռեժիմով (դեբագ). Խոտառյալ կատարում

main մեթոդի առաջին տողը արդեն կատարվել է, և ընթացիկ տողը երկրորդն է։ Դուք կարող եք տեսնել նկարերգարավման ներքևի մասում, որ արդեն ցուցադրվել է Բարև բառը։


6. Խոտառյալ կատարում մոդուլներ մուտք գործելուց

Եթե ձեր ծրագրում կան ձեր ստեղծած մոդուլները, և դուք ուզում եք, որ debug ռեժիմով ձեր ծրագիրը ոչ միայն խոտառյալ աշխատի, այլ մտնի ձեր մոդուլները, «մոդուլ մուտք գործելու համար» պետք է սեղմել F7 կոճակը։

Եթե դուք խոտառյալ աշխատում եք ծրագրի վրա և կանգնել եք 4-րդ տողի վրա, եթե սեղմեք F8, IDEA-ն պարզապես կկատարի չորրորդ տողը և կանցնի հինգերորդին։

Խոտառյալ կատարում մոդուլներ մուտք գործելուց

Բայց եթե սեղմեք F7, IDEA-ն ավելի կխոտառի main2() մոդուլը՝

Խոտառյալ կատարում մոդուլներ մուտք գործելուց 2

Շատ պարզ է։ Եթե ձեզ համար շատ կարևոր չէ, թե ինչ և ինչպես է տեղի ունենում մոդուլում, սեղմեք F8, եթե կարևոր է՝ F7 և խոտառյալ կատարեք ամբողջ կոդը։

Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ