JavaRush /Java блогы /Random-KK /Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арн...
Roman Beekeeper
Деңгей

Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық

Топта жарияланған
Барлығына сәлем, JavaRush қауымдастығы. Бүгін біз отладка туралы сөйлесетін боламыз: бұл не және Intellij IDEA жүйесінде қалай жөндеу керек. Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 1Мақала Java Core туралы ең аз білімі бар адамдарға арналған. Кітапханаларды басып шығару үшін ешқандай шеңберлер немесе күрделі процестер болмайды. Жеңіл жүру. Сондықтан өзіңізді ыңғайлы етіңіз және бастайық!

Неліктен Debug қажет?

Бірден түсіндірейік: қатесіз code жоқ... Өмір осылай жұмыс істейді. Сондықтан, егер code біз күткендей жұмыс істемесе, біз бірден ақсап, бәрінен бас тартпауымыз керек. Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 2Бірақ не істеу керек? Әрине, сіз оны System.out.printlnкез келген жерде орната аласыз, содан кейін қатені таба аласыз деген үмітпен терминалдағы шығысты сұрыптауға болады. Дегенмен, бұл мүмкін ... және олар мұны жасайды және олар журналды пайдалану арқылы мұқият жасайды (бұл туралы мұнда оқи аласыз ). Бірақ егер codeты жергілікті машинада іске қосу мүмкін болса, Debug қолданбасын қолданған дұрыс . Осы мақалада Intellij IDEA ішіндегі жобаны жөндеуді қарастыратынымызды бірден атап өткім келеді. Егер сіз қашықтан жөндеу туралы оқығыңыз келсе, мұнда біздің ресурстағы мақала бар .

Debug дегеніміз не

Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 3Түзету - codeты жөндеу (тексеру) процесі, оны орындау кезінде сіз белгіленген жерде тоқтап, орындалу барысын бақылай аласыз. Белгілі бір жерде бағдарламаның күйін түсіну. Бұл өмірді тоқтатып, бәріне сырттан қарауға болатын сияқты. Керемет, иә? Біздің мақсатымыз - Intellij IDEA сүйікті әзірлеу ортасын пайдаланып қолданбаларды жөндеуді тез және оңай үйрену.

Түзетуді бастау үшін не қажет

Мен тегін кеңес беремін: мақаланы оқып жатқанда, мұнда сипатталғанның бәрін жасаңыз, бақытымызға орай, бұл үшін бәрі бар. Не керек:
  1. Intellij IDEA әзірлеу ортасының 2019.3.1 және одан жоғары нұсқасы. Егер біреуде жоқ болса, мына сілтемені жүктеп алуға болады. Қауымдастық шығарылымын жүктеп алыңыз, себебі мен оны пайдаланатын боламын.
  2. Жобаны GitHub сайтынан клондаңыз және оны IDEA арқылы импорттаңыз.
IDEA ашу: отладка-презентацияIntellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 4 жобасын таңдап , OK түймесін басып , мынаны алыңыз: Сыртқы көздерден импорттау жобасын қалдырыңыз , Maven және Аяқтау түймесін басыңыз . Жобаны импорттағаннан кейін біз процесті тірі мысал арқылы сипаттай аламыз. Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 5

Кішкене теория... Мен уәде беремін: D

Сәл жөндеуді бастау үшін breakPoint дегеннің не екенін түсінуіңіз керек және бастау үшін қажет бірнеше жылдам пернелерді түсінуіңіз керек. BreakPoint – қолданба тоқтатылуы тиіс орынды немесе күйді көрсететін арнайы маркер. Тоқтау нүктесін сол жақ бүйірлік тақтаны тінтуірдің сол жақ түймешігімен басу арқылы немесе code орнын басып, Ctrl + F8 пернелер тіркесімін басу арқылы орнатуға болады . Үзіліс нүктелері үш түрлі болады: сызық белгісі, айнымалы белгі және әдіс белгісі. Бұл келесідей көрінеді:
  • Әр жол бойынша:

    Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 6

    егер өрнекте лямбда болса, IDEA сізге таңдауды ұсынады - өрнекті бүкіл жолға немесе арнайы лямбдаға қою:

    Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 7
  • Әдіс бойынша:

    Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 8
  • Сынып бойынша

    Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 9
Үзіліс нүктелерін қосу кезіндегі қадамдарды орындау арқылы жоюға болады. Оларды белсенді емес (дыбыссыз) ету қажет болатын жағдайлар бар. Мұны істеу үшін Түзету бөлімінде Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 10барлық тоқтау нүктелерін белсенді емес ететін белгішені таба аласыз. Қандай тоқтау нүктелерінің орнатылғанын көру үшін төменгі сол жақ бұрыштағы Debug бөліміне өтіп, белгішені табуға болады Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 11немесе Ctrl+Shift+F8 пернелер тіркесімін басыңыз : Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 12Біз тоқтау нүктелерінің тізіміне өткенде, біз көреміз: Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 13Екі алдын ала нүкте бар. Мұнда:
  • Bee.java:24 - 24-жолдағы Bee сыныбында
  • Main.java:14 - 14-жолдағы Негізгі сыныпта
Жобаны клондау кезінде сізде бұл BreakPoints болмайтынын атап өткім келеді: оларды өзіңіз орнатуыңыз керек! Сондай-ақ Java Exception Breakpoints бөлімі бар . Өте пайдалы нәрсе. Оны пайдалана отырып, бағдарлама кез келген ерекшелікті немесе белгілі бір жағдайды шығармас бұрын тоқтайтындай жасырын тоқтау нүктесін қосуға болады. RuntimeException үшін жасырын тоқтау нүктесін қосамыз. Бұл оңай жасалады: жоғарғы сол жақ бұрышта «+» плюс белгісі бар. Оны басып, Java Exceptions Breakpoints тармағын таңдаңыз : Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 14Пайда болған терезеде қосу қажет ерекше жағдайдың атын жазыңыз, ұсынылған тізімнен таңдаңыз және OK түймесін басыңыз : Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 15Біз бұл білім беру бағдарламасын аяқтаймыз және тәжірибеге көшеміз.

Кеттік, қателерді жоюдың жабайы жерлеріне кірейік

Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 16Мен тұқым қуалайтын омарташы болғандықтан, қателерді жоюға арналған презентация үшін аралардың бал шырындарын жинау, бал шырындарын балға өңдеу және ұядан бал алу процесін сипаттайтын жоба жасадым. Жобаның түбірі болып табылатын README файлының құжаттамасына сүйене отырып , біз оқимыз: күтілетін мінез-құлық - шырындар жиналған барлық гүлдерден ( қос мән ретінде) балдың жартысына тең мөлшерде бал жиналады. жиналған нектар. Жобада келесі сыныптар бар:
  • Ара – қарапайым жұмысшы ара;
  • BeeQueen - патшайым ара;
  • Ара ұясы - ара ұясы;
  • HoneyPlant – бал жинайтын бал өсімдігі;
  • Негізгі – public static void main()жоба басталатын әдіс қайда орналасқан.
Егер сіз әдісті іске қоссаңыз main(), балдың мөлшері ғана есептелмейді, сонымен қатар қате пайда болады ... Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 17Онда не дұрыс емес екенін қарау керек. HoneyPlant.java:20Төменгі оң жақ бұрыштағы стек ізінен біз RuntimeException файлының жіберілгенін көреміз : Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 18Бұл дәл біздің жағдай: RuntimeException бар, жоғарыда сипатталғандай ерекше жағдайды іздеуді қосып, main()әдісті іске қосыңыз. жөндеу режимі. main()Бұл әрекетті орындау үшін Intellij IDEA ішіндегі жасыл үшбұрыш көрсеткіні : әдісінің алдында басыңыз Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 19және біз осы белгішесі бар ерекшелік іске қосылғанға дейін тоқтатылған бағдарламаны аламыз.Толық Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 20Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 21ақпаратты алу үшін Debug бөлімін қарау керек. Онда қолданбаның осы бөлігінде қол жетімді барлық айнымалы мәндерді көрсететін Variables бар:
  • нектар = 1,0;
  • нектарСыйымдылығы = -1,0.
Ерекшелік әділетті болып табылады, өйткені бал зауытындағы балшырын мөлшерінің мәні теріс болуы мүмкін емес. Бірақ неге бұл орын алады? Өйткені, егер балшырын таусылған болса, 15-17 жолдарда нөлдік мән қайтарылатынын тексеру бар:
if ( nectar == 0 ) {
         return 0;
}
Бірақ бұл қате айнымалыны тексереді ... және бұл codeтағы қате. NectarCapacity айнымалысында орналасқан гүлдегі балшырынның мәнін тексерудің орнына , бағдарлама әдіске кіретін және олар балшырыннан алғылары келетін мөлшер болып табылатын балшырынның мәнін тексереді. Міне, бірінші қате! Сондықтан біз оны дұрыс қойып, өрнекті аламыз:
if ( nectarCapacity == 0) {
         return 0;
}
Әрі қарай, біз main()әдісті қалыпты режимде іске қосамыз (Run `Main.main()`)және қате жоқ, бағдарлама жұмыс істеді: Қолданба Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 22жұмыс істеді және жауап берді: «33,0 балды 2 бал зауытынан 7 ара өндірді» Барлығы жақсы болар еді, бірақ жауап: дұрыс емес... Барлығы README файлында 2-ден 1 қатынасында бал балға айналатыны жазылған:
## Documentation
Presentation based on honey getting process.

**Note**: 1 honey point = 2 nectar points
Негізгі әдістен екі бал өсімдігі бар екенін көруге болады, сәйкесінше 30 және 40 бірлік бал шырыны, сондықтан сіз соңында 35 бірлік бал алуыңыз керек. Және ол 33 деп жазады. Қалған екі бірлік қайда кетті?... Енді анықтаймыз! Main.main()Ол үшін №28 жолдағы әдіске тоқтау нүктесін қою керек , ол орындалады beeHive.populateHoney()және mainәдісті Debug режимінде іске қосу керек: Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 23Осы нүктені толығырақ қарастырайық. Бағдарлама 28-ші жолды орындамай тұрып тоқтады. Төменгі жағында біз іске қосылған қолданбадағы барлық ақпаратты сипаттайтын Debug бөлімін көреміз. Айнымалылар бөлігі, бұрын айтылғандай, қолданбаның осы бөлігінен қол жеткізуге болатын барлық айнымалылар мен нысандарды қамтиды. Фреймдер бөлігі қолданба өтетін қадамдарды көрсетеді, алдыңғы қадамды қарап, барлық жергілікті деректерді алуға болады. Бағдарлама жұмысын жалғастыру үшін төменде көрсетілгендей F9 пернесін немесе жасыл белгішені басуға болады : Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 24Бағдарламаны тоқтату үшін қызыл шаршыны басу керек: Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 25Бағдарламаны жөндеу режимінде қайта іске қосу үшін көрсеткіні басу керек: Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 26Әрі қарай, қолданба арқылы кезең-кезеңімен өту үшін екі пернені пайдалануға болады:
  • F8 - code бөлімінен өту және ішкі әдістерге өтпеу;
  • F7 - code бөлімінен өтіп, ішкі әдістерді енгізіңіз.
Сондықтан, әдісті іске қосу үшін beeHive.populateHoney()F7 пернесін басу керек, және біз әрі қарай жүреміз: Әрі қарай, біз осы әдісті қолданып F8Intellij IDEA жүйесінде жөндеу: жаңадан бастаушыларға арналған нұсқаулық - 27 көмегімен жөндеу режимінен өтеміз және осы әдісте не болатынын сипаттаймыз:
  • 25-жол – Stream API барлық аралардан бал жинау үшін пайдаланылады;
  • 26-жол – бар балға қосылады;
  • 27-ші қатар - патшайымға 2 бірлік бал бөлінеді;
  • 28-жол – бұл екі бірлік балдың жалпы мөлшерінен алынады;
  • 29-жол – жатыр бұл балды жейді.
Бұл екі бөлімшенің баратын жері, ура! Бизнес талдаушымен сөйлескеннен кейін біз README құжаттама файлында қате бар және оны жаңарту қажет деген қорытындыға келеміз . README файлын жаңартайық:
## Documentation
Presentation based on honey getting process.

**Note**:
*  1 honey point = 2 nectar points
*  2 honey point queen bee eats every time when beehive populates the honey.
Міне, барлық табылған қателер түзетілді, біз сабырлы түрде кофе ішуді және JavaRush хабындағы мақалаларды ақылды көзқараспен оқуды жалғастыра аламыз :)

Қорытындылау

Бұл мақалада біз мынаны түсіндік:
  • қатесіз жұмыс жоқ және жөндеу - оларды шешудің тамаша тәсілі;
  • тоқтау нүктесі дегеніміз не және оның қандай түрлері бар;
  • ерекше жағдайдың тоқтау нүктесін конфигурациялау жолы;
  • Түзету режимінде қалай шарлауға болады.

Оқуға арналған мақала

Менің басқа мақалаларымды да қараңыз:
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION