CodeGym /جاوا بلاگ /Random-SD /IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ
John Squirrels
سطح
San Francisco

IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ

گروپ ۾ شايع ٿيل
هيلو هرڪو CodeGym ڪميونٽي ۾! اڄ اچو ته ڊيبگنگ بابت ڳالهايون - اهو ڇا آهي ۽ IntelliJ IDEA ۾ ڊيبگ ڪيئن ڪجي. هي آرٽيڪل انهن ماڻهن لاءِ آهي جن کي اڳ ۾ ئي جاوا ڪور جي گهٽ ۾ گهٽ ڄاڻ آهي. لائبريرين کي شايع ڪرڻ لاءِ ڪي به فريم ورڪ يا پيچيده طريقا نه هوندا. آرام سان گھمڻ. تنهن ڪري پنهنجو پاڻ کي آرام سان ٺاهيو ۽ اچو ته شروع ڪريون! IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 1

ڇو توهان کي ڊيبگ موڊ جي ضرورت آهي

اچو ته فوري طور تي پاڻ لاءِ ڪجهه واضح ڪريون: ڪيچ کان سواءِ ڪو به ڪوڊ ناهي... اهو ئي آهي زندگي ڪيئن ڪم ڪري ٿي. تنهن ڪري، اسان کي ٽڪرا ٽڪرا نه ڪرڻ گهرجي ۽ ڇڏي ڏيو جيڪڏهن اسان جو ڪوڊ ڪم نه ڪندو آهي جيئن اسان توقع ڪئي هئي. پر اسان کي ڇا ڪرڻ گهرجي؟ يقينن، اسان System.out.printlnهر جڳهه بيان ڪري سگهون ٿا ۽ پوء هڪ غلطي ڳولڻ جي اميدن ۾ ڪنسول آئوٽ ذريعي ڪم ڪري سگهون ٿا. اهو چيو ته، توهان ڪري سگهو ٿا (۽ ماڻهو ڪندا) محتاط لاگنگ استعمال ڪندي ڊيبگ. پر جيڪڏهن توهان پنهنجو ڪوڊ مقامي مشين تي هلائي سگهو ٿا، اهو بهتر آهي ته ڊيبگ موڊ استعمال ڪريو. مان فوري طور تي نوٽ ڪرڻ چاهيان ٿو ته هن آرٽيڪل ۾ اسان IntelliJ IDEA استعمال ڪندي هڪ منصوبي کي ڊيبگ ڪرڻ تي غور ڪنداسين.

ڊيبگ موڊ ڇا آهي؟

ڊيبگ موڊ ڊيبگنگ (چڪنگ) هلندڙ ڪوڊ لاءِ آهي. اهو توهان لاءِ ممڪن بڻائي ٿو ته توهان مقرر ڪيل هنڌن تي عملدرآمد کي روڪيو ۽ ڏسو ته شيون ڪيئن ترقي ڪري رهيون آهن. اهو توهان کي ڪوڊ ۾ هڪ خاص جڳهه تي پروگرام جي حالت کي سمجهڻ جي اجازت ڏئي ٿو. اهو بلڪل ائين آهي جيئن ڪلاڪ کي روڪڻ ۽ هر شيء کي پاسي کان ڏسڻ جي قابل آهي. ٿڌي، صحيح؟ اسان جو مقصد جلدي ۽ آساني سان سکڻ آهي ته اسان جي پياري IntelliJ IDEA ڊولپمينٽ ماحول کي استعمال ڪندي ايپليڪيشنن کي ڊيبگ ڪيئن ڪجي.

توهان کي ڊيبنگ شروع ڪرڻ جي ڪهڙي ضرورت آهي

ھتي ڪجھ مفت مشوري آھي: ھن مضمون کي پڙھڻ دوران، اھو سڀ ڪجھ ڪريو جيڪو ھتي بيان ڪيو ويندو - توھان وٽ اھو آھي جيڪو توھان کي ڪرڻو آھي. توهان کي ڇا گهرجي:
  1. IntelliJ IDEA نسخو 2019.3.1 يا وڌيڪ. صورت ۾ ڪنهن کي اهو نه آهي، هتي هڪ لنڪ آهي جتي توهان ان کي ڊائون لوڊ ڪري سگهو ٿا . ڊائون لوڊ ڪريو ڪميونٽي ايڊيشن - اھو اھو نسخو آھي جيڪو مان استعمال ڪندس.
  2. هن GitHub منصوبي کي ڪلون ڪريو ۽ ان کي IDEA ذريعي درآمد ڪريو.
IDEA کوليو: ڊيبگ-پريزنٽيشنIntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 2 پروجيڪٽ چونڊيو ۽ دٻايو OK . پوء توھان ھيٺ ڏنل ونڊو ڏسندا: چونڊيل اختيارن کي ڇڏي ڏيو: خارجي ذريعن مان پروجيڪٽ درآمد ڪريو ۽ Maven . ڪلڪ ڪريو ختم ڪريو . هاڻي ته اسان پروجيڪٽ کي درآمد ڪيو آهي، اسان باقي عمل کي هڪ زنده مثال سان بيان ڪري سگهون ٿا. IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 3

ٿورو نظريو... مان واعدو ڪريان ٿو: ڊي

ٿورڙي به ڊيبگنگ شروع ڪرڻ لاءِ، توهان کي سمجهڻ جي ضرورت آهي ته بريڪ پوائنٽ ڇا آهي ۽ ڪجهه گرم چاٻين سان واقف ٿي وڃو. هڪ بريڪ پوائنٽ هڪ خاص مارڪر آهي جيڪو ظاهر ڪري ٿو ته توهان ڪٿي چاهيو ٿا ته ايپليڪيشن جي عمل کي روڪڻ لاءِ، ممڪن طور تي ايپليڪيشن اسٽيٽ جي بنياد تي. توهان بريڪ پوائنٽ سيٽ ڪري سگهو ٿا يا ته کاٻي پاسي واري پينل تي کاٻي پاسي ڪلڪ ڪري، يا ڪوڊ جي جڳھ تي ڪلڪ ڪري ۽ Ctrl+F8 کي دٻائيندي . اچو ته ڏسو ٽن قسمن جي بريڪ پوائنٽس: لائين بريڪ پوائنٽس، فيلڊ واچ پوائنٽس، ۽ ميٿڊ بريڪ پوائنٽس. اهو ڪيئن ڏسڻ ۾ اچي ٿو:
  • هڪ خط تي:

    IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 4

    جيڪڏهن هڪ بيان ۾ ليمبڊا اظهار آهي، ته پوءِ IDEA توهان کي اهو چونڊڻ لاءِ چيو ته ڇا بريڪ پوائنٽ کي پوري بيان تي رکڻو آهي يا خاص طور تي ليمبڊا اظهار تي:

    IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 5
  • طريقي سان:

    IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 6
  • ڪلاس تي:

    IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 7
بريڪ پوائنٽس انهن کي شامل ڪرڻ لاءِ استعمال ٿيل ساڳيون قدمن تي عمل ڪندي ختم ڪري سگھجن ٿا. حالتون آھن جڏھن توھان چاھيو ٿا غير فعال (خاموش) انھن کي. هن کي ڪرڻ لاء، IntelliJ IDEA ۾ ڊيبگنگ: هڪ شروعاتي گائيڊ - 8ڊيبگ سيڪشن ۾ آئڪن کي ڳولھيو. هي سڀ بريڪ پوائنٽ کي خاموش ڪندو. ڏسڻ لاءِ ته ڪھڙا بريڪ پوائنٽس سيٽ ڪيا ويا آھن، توھان يا ته ھيٺئين کاٻي ڪنڊ ۾ ڊيبگ سيڪشن ڏانھن وڃو ۽ آئڪن کي ڳولي سگھو ٿا IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 9، يا Ctrl+Shift+F8 کي دٻائي سگھو ٿا : IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 10بريڪ پوائنٽس جي لسٽ ڏانھن ھلندي، اسان ھيٺيون ڏسنداسين: IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 11اتي ٻه بريڪ پوائنٽس آھن. هتي:
  • Bee.java:24 — بي ڪلاس ۾ 24 لائن تي
  • Main.java:14 — مين ڪلاس ۾ لائن 14 تي
مهرباني ڪري نوٽ ڪريو ته اهي وقفي پوائنٽون خودڪار طور تي سيٽ نه ٿينديون جيڪڏهن توهان پروجيڪٽ کي ڪلون ڪيو آهي: توهان کي انهن کي پنهنجو پاڻ کي ترتيب ڏيڻ جي ضرورت پوندي! اتي پڻ ھڪڙو جاوا استثنا برڪ پوائنٽ سيڪشن آھي. اهو تمام مفيد آهي. ھتي توھان شامل ڪري سگھو ٿا ھڪڙو غير معمولي وقفي پوائنٽ ته جيئن پروگرام ڪنھن استثنا يا مخصوص استثنا کي اڇلائڻ کان اڳ روڪيو وڃي. اسان RuntimeException لاءِ هڪ امڪاني بريڪ پوائنٽ شامل ڪنداسين. اهو ڪم ڪرڻ آسان آهي. مٿي کاٻي ڪنڊ ۾ "+" آئکن ڳولھيو. ان تي ڪلڪ ڪريو ۽ منتخب ڪريو Java Exception Breakpoints : IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 12جيڪا ونڊو ظاهر ٿئي ٿي، ان استثناءَ جو نالو لکو جيڪو توھان شامل ڪرڻ چاھيو ٿا، فهرست مان چونڊيو ۽ OK تي ڪلڪ ڪريو : IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 13اھو اسان جي پرائمر کي ختم ڪري ٿو ته شين کي ڪيئن سيٽ اپ ڪجي، سو ھاڻي اسان ' ڪجھ مشق تي اڳتي وڌو.

اچو ته اهو ڪم ڪريون جنهن کي ڊيبگنگ سڏيو ويندو آهي!

مان خانداني ماکيءَ پالڻ وارن جي هڪ ڊگهي قطار مان آيو آهيان، تنهن ڪري جيڪو پروجيڪٽ مون ٺاهيو آهي ڊيبگنگ کي واضع ڪرڻ لاءِ ماڊلز کي بيان ڪري ٿو ماکيءَ جي ماکيءَ کي گڏ ڪرڻ، ماکيءَ کي ماکيءَ ۾ پروسيس ڪرڻ، ۽ پوءِ ماکيءَ جي ڇت مان ماکيءَ حاصل ڪرڻ. دستاويزن مطابق README فائل، جيڪا پروجيڪٽ جي روٽ ڊاريڪٽري ۾ ڳولهي سگهجي ٿي، انهن سڀني گلن جو متوقع رويو ، جن مان امرت گڏ ڪئي ويندي آهي، گڏ ڪيل ماکي جي مقدار (جيڪو ڊبل جي صورت ۾ وٺندو آهي ) جي اڌ جي برابر هوندو. گڏ ڪيل امرت. پروجيڪٽ هيٺ ڏنل طبقن تي مشتمل آهي:
  • مک - هڪ عام ڪم ڪندڙ مک
  • BeeQueen- راڻي مکي
  • BeeHive- ماکيءَ جو ٻج
  • هوني پلانٽ - هڪ ماکيءَ جو ٻوٽو (امرت جو ماخذ) جنهن مان نيڪار گڏ ڪيو ويندو آهي
  • مکيه - هي آهي جتي اسان ڳوليندا آهيون public static void main()، اهو طريقو جتي عمل شروع ٿئي ٿو.
جيڪڏهن اسان اهو main()طريقو هلون ٿا ته پوءِ اسان کي معلوم ٿئي ٿو ته اسان جو پروگرام نه رڳو ماکي جي مقدار جو اندازو لڳائي ٿو، پر اهو پڻ هڪ استثنا ڏئي ٿو ... IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 14اسان کي تحقيق ڪرڻ گهرجي ۽ اهو طئي ڪرڻ گهرجي ته مسئلو ڇا آهي. ھيٺئين ساڄي ڪنڊ ۾ ٽريڪ اسٽيڪ مان، اسان ڏسي سگھون ٿا ته ھڪڙي RuntimeException ۾ اڇلائي وئي ھئي HoneyPlant.java:20: IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 15اھو اھو آھي جيڪو اسان مٿي بابت ڳالهائي رھيا ھئاسين. اچو ته ڏسو هن RuntimeException لاءِ main()ڊيبگ موڊ ۾ طريقي کي هلائڻ سان. هن کي ڪرڻ لاءِ، طريقي جي اڳيان IntelliJ IDEA ۾ سائي ٽڪنڊي تير تي ڪلڪ ڪريو main(). IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 16نتيجي طور، اسان پروگرام کي فوري طور تي روڪي ڇڏينداسين، استثنا اڇلائڻ کان اڳ ۽ اسين هي آئڪن ڏسندا سين: IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 17IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 18سڀ موجود معلومات حاصل ڪرڻ لاء، اسان کي ڏسڻ جي ضرورت آهي ڊيبگ سيڪشن. اهو هڪ متغير پين آهي جيڪو ڏيکاري ٿو سڀني متغيرن کي اپليڪيشن جي هن حصي ۾ موجود آهي:
  • امرت = 1.0؛
  • nectarCapacity = -1.0.
استثنا اُڇلائڻ سمجھ ۾ اچي ٿو، ڇاڪاڻ ته ماکيءَ جي ٻوٽي ۾ ناڪاري مقدار جي مقدار نه ٿي سگھي. پر ائين ڇو ٿي رهيو آهي؟ آخرڪار، 15-17 لائنن ۾، اسان چيڪ ڪريون ٿا ته ڇا امرت جي فراهمي ختم ٿي وئي آهي ۽ صفر واپسي جيڪڏهن اهو آهي:
if (nectar == 0) {
   	     return 0;
}
پر مصيبت اها آهي ته اسان غلط متغير جي جانچ ڪري رهيا آهيون. هي ڪوڊ ۾ هڪ غلطي آهي. گلن ۾ موجود امرت جي مقدار کي چيڪ ڪرڻ جي بدران (جيڪو نيڪار ڪيپيسيٽي ويريبل ۾ ذخيرو ٿيل آهي)، پروگرام طريقي جي امرت جي ماپ جي قيمت کي چيڪ ڪري ٿو، جيڪو امرت جي مقدار آهي جيڪو اسان گلن مان وٺڻ چاهيون ٿا. هتي اهو آهي! اسان جو پهريون بگ! هن کي درست ڪرڻ کان پوء، اسان هيٺ ڏنل ڪوڊ حاصل ڪندا آهيون:
if (nectarCapacity == 0) {
   	     return 0;
}
main()ھاڻي ھن طريقي کي عام طريقي سان ھلايو (Run 'Main.main()'). ڪو به استثنا نه آهي اڇلايو، ۽ پروگرام ڪم ڪري ٿو: IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 19ايپليڪيشن مڪمل ٿيڻ تي هلندو آهي ۽ هيٺ ڏنل جواب ڏئي ٿو:

"33.0 honey was produced by 7 bees from 2 honey plants"
ھاڻي سڀ ڪجھ ٺيڪ ھوندو، پر اھو جواب غلط آھي... دستاويزي README فائل جي مطابق ، امرت کي 2 کان 1 جي تناسب سان ماکي ۾ تبديل ڪيو ويندو آھي:
## Documentation
Presentation based on honey production.

**Note**: 2 units of nectar = 1 unit of honey
مکيه طريقو واضح طور تي ٻه ماکيء جا ٻوٽا آهن جن ۾ 30 ۽ 40 يونٽ امرت جا آهن. تنهنڪري اسان کي آخرڪار ماکي جي 35 يونٽن سان ختم ڪرڻ گهرجي. پر پروگرام اسان کي ٻڌائي رهيو آهي ته اسان کي 33 مليا آهن. باقي ٻه يونٽ ڪيڏانهن ويا؟ اچو ته معلوم ڪريون! هن کي ڪرڻ لاءِ، لائن 28 تي طريقي ۾ هڪ بريڪ پوائنٽ مقرر ڪريو Main.main()، جتي beeHive.populateHoney()سڏيو ويندو آهي ۽ main()طريقو ڊيبگ موڊ ۾ هلايو: IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 20اسان هن نقطي تي وڌيڪ تفصيل سان غور ڪنداسين. لڪير 28 تي عمل ڪرڻ کان اڳ پروگرام تي عمل ٿيڻ بند ٿي ويو. ھيٺئين حصي ۾، اسان ڏسون ٿا ڊيبگ سيڪشن، جيڪو ھلندڙ ايپليڪيشن بابت سڀ موجود معلومات ڏيکاري ٿو. جيئن اڳ ۾ ئي ذڪر ڪيو ويو آهي، متغير پين ۾ ايپليڪيشن جي هن حصي مان موجود سڀئي متغير ۽ شيون شامل آهن. فريم پين ڏيکاري ٿو اهي مرحلا جيڪي ايپليڪيشن ذريعي وڃي رهيا آهن - توهان ڏسي سگهو ٿا پوئين (فريمز) قدمن ۽ سڀني مقامي ڊيٽا کي ڏسو. پروگرام کي جاري رکڻ لاءِ، توھان ھيٺ ڏنل ڏيکاريل آھي F9IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 21 يا سائي آئڪن کي دٻائي سگھو ٿا: پروگرام کي روڪڻ لاءِ، ڳاڙھو اسڪوائر تي ڪلڪ ڪريو: IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 22ايپليڪيشن کي ڊيبگ موڊ ۾ ريسٽارٽ ڪرڻ لاءِ، تير تي ڪلڪ ڪريو: IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 23اڳتي، توھان اڳتي وڌائي سگھوٿا. اپليڪيشن قدم قدم سان ٻه ڪنجيون استعمال ڪندي:
  • F8 - طريقن ۾ قدم کڻڻ کان سواء ڪوڊ ذريعي قدم؛
  • F7 - ڪوڊ ذريعي قدم ۽ طريقن ۾ قدم.
اسان جي حالت ۾، اسان کي F7 کي دٻائڻو پوندو، beeHive.populateHoney()طريقي سان قدم کڻڻ لاء. ان ۾ قدم کڻندي، اسان حاصل ڪريون ٿا: ھاڻي اسان F8IntelliJ IDEA ۾ ڊيبنگ: هڪ شروعاتي گائيڊ - 24 استعمال ڪنداسين ھن طريقي سان قدم کڻڻ لاءِ ۽ بيان ڪنداسين ته ان ۾ ڇا ٿئي ٿو:
  • لڪير 25 — اسٽريم API استعمال ڪيو ويندو آهي سڀني مکين مان امرت گڏ ڪرڻ لاءِ
  • لائن 26 - نئون ٺهيل ماکي موجوده ماکي ۾ شامل ڪيو ويو آهي؛
  • لائن 27 - ماکي جا 2 يونٽ راڻي لاءِ مختص ڪيا ويا آهن
  • لڪير 28 - اهي ٻه يونٽ ماکي جي ڪل رقم مان ڪڍيا ويا آهن
  • لڪير 29 - راڻي هي ماکي کائي ٿي.
پوءِ اهي ٻئي غائب يونٽ ڪيڏانهن ويا! هري! ڪاروباري تجزيه نگار سان ڳالهائڻ کان پوءِ، اسان اهو نتيجو ڪڍيو ته دستاويز README فائل ۾ هڪ نقص آهي ۽ ان کي اپڊيٽ ڪرڻ جي ضرورت آهي. اچو ته README فائل کي اپڊيٽ ڪريون:
## Documentation
Presentation based on honey production.

**Note**:
* 2 units of nectar = 1 unit of honey
* The queen bee eats 2 units of honey every time when beehive is replenished with honey.
اسان ٿي ويا آهيون. اسان سڀني کي درست ڪيو آهي جيڪي اسان کي مليا آهن. اسان آرام سان هڪ مسڪين نظر سان اڳتي وڌي سگهون ٿا، ڪجهه ڪافي پيئي، ۽ اسٽيڪ اوور فلو ڪوڊ گيم تي آرٽيڪل پڙهي سگهون ٿا :)

اچو ته اختصار ڪريون

هن آرٽيڪل ۾، اسان سکيو:
  • هر ڪنهن جي ڪم ۾ غلطيون آهن ۽ ڊيبگنگ انهن کي درست ڪرڻ جو هڪ بهترين طريقو آهي
  • بريڪ پوائنٽ ڇا آهي ۽ بريڪ پوائنٽ جا ڪهڙا قسم آهن
  • هڪ استثنا بريڪ پوائنٽ ڪيئن مقرر ڪجي
  • ڊيبگ موڊ ۾ ڪوڊ ذريعي ڪيئن قدم کڻڻ

پڙهڻ لاء آرٽيڪل

تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION