هيلو هرڪو، JavaRush ڪميونٽي. اڄ اسان ڊيبگنگ بابت ڳالهائينداسين: اهو ڇا آهي ۽ Intellij IDEA ۾ ڊيبگ ڪيئن ڪجي. آرٽيڪل انهن ماڻهن لاءِ آهي جن کي اڳ ۾ ئي جاوا ڪور جي گهٽ ۾ گهٽ ڄاڻ آهي. لائبريريون شايع ڪرڻ لاءِ ڪوبه فريم ورڪ يا پيچيده عمل نه هوندو. آسان هلڻ. تنهن ڪري پنهنجو پاڻ کي آرام سان ٺاهيو ۽ اچو ته شروع ڪريون!
README فائل جي دستاويزن جي بنياد تي ، جيڪو پروجيڪٽ جي روٽ ۾ موجود آهي، اسان پڙهي سگهون ٿا: متوقع رويي - سڀني گلن مان جن مان امرت گڏ ڪيو ويندو آهي (هڪ ٻيڻو قيمت جي طور تي)، ماکي جي مقدار اڌ جي برابر گڏ ڪئي ويندي. گڏ ڪيل امرت. پروجيڪٽ هيٺ ڏنل طبقن تي مشتمل آهي:
دستاويز README فائل ۾ اهو لکيل آهي ته امرت 2 کان 1 جي تناسب ۾ ماکي ۾ تبديل ٿي ويندي آهي:
دستاويز README فائل ۾ هڪ غلطي آهي ۽ ان کي اپڊيٽ ڪرڻ جي ضرورت پوندي. اچو ته README فائل کي اپڊيٽ ڪريون:
حب تي مضمون پڙھي سگھون ٿا سمارٽ نظر سان :)
توهان کي ڊيبگ جي ضرورت ڇو آهي؟
اچو ته ان کي فوري طور تي واضح ڪريون: ڪيچ کان سواءِ ڪو به ڪوڊ ناهي... زندگي ائين ئي ڪم ڪري ٿي. تنهن ڪري، اسان کي فوري طور تي لنگهڻ نه گهرجي ۽ هر شي کي ڇڏي ڏيو جيڪڏهن ڪوڊ ڪم نه ڪندو آهي جيئن اسان توقع ڪئي. پر ڇا ڪجي؟ يقينن، توھان ھدايت ڪري سگھوٿاSystem.out.println
جتي ممڪن ھجي ۽ پوءِ ٽرمينل ۾ ٻاھر ڪڍو ان اميد سان ته توھان کي ڪا غلطي معلوم ٿيندي. اڃا، اهو ممڪن آهي ... ۽ اهي اهو ڪندا آهن، ۽ اهي لاگنگ استعمال ڪندي احتياط سان ڪندا آهن (توهان ان بابت پڙهي سگهو ٿا هتي ). پر جيڪڏهن اهو ممڪن آهي ته ڪوڊ کي مقامي مشين تي هلائڻ لاء، اهو بهتر آهي استعمال ڪرڻ لاء ڊيبگ . مان فوري طور تي نوٽ ڪرڻ چاهيان ٿو ته هن آرٽيڪل ۾ اسان انٽيليج IDEA اندر هڪ منصوبي کي ڊيبگ ڪرڻ تي غور ڪنداسين. جيڪڏهن توهان ريموٽ ڊيبگنگ بابت پڙهڻ ۾ دلچسپي رکو ٿا، هتي اسان جي وسيلن مان هڪ مضمون آهي .
Debug ڇا آهي
ڊيبگ ڊيبگنگ (چڪنگ) ڪوڊ جو عمل آهي، جڏهن ان جي عمل جي دوران توهان مقرر ڪيل جڳهه تي روڪي سگهو ٿا ۽ عملدرآمد جي ترقي کي ڏسي سگهو ٿا. ھڪڙي خاص جڳھ ۾ پروگرام جي حالت کي سمجھو. اهو بلڪل ساڳيو آهي جيئن توهان زندگي کي روڪي سگهو ٿا ۽ ٻاهران هر شيء کي ڏسو. ٿڌي، صحيح؟ اسان جو مقصد جلدي ۽ آساني سان سکڻ آهي ته اسان جي پسنديده ترقياتي ماحول، Intellij IDEA استعمال ڪندي ايپليڪيشنن کي ڊيبگ ڪيئن ڪجي.توهان کي ڊيبنگ شروع ڪرڻ جي ڪهڙي ضرورت آهي
آئون مفت صلاح ڏيان ٿو: جڏهن توهان مضمون پڙهي رهيا آهيو، هر شي ڪريو جيڪو هتي بيان ڪيو ويندو، خوش قسمتي سان هن لاء سڀ ڪجهه آهي. توهان کي ڇا گهرجي:- Intellij IDEA ڊولپمينٽ ماحول وارو نسخو 2019.3.1 ۽ وڌيڪ. صورت ۾ ڪنهن وٽ اهو ناهي، هتي هڪ لنڪ آهي جتي توهان ان کي ڊائون لوڊ ڪري سگهو ٿا. ڊائون لوڊ ڪريو ڪميونٽي ايڊيشن ڇو ته اھو اھو آھي جيڪو مان استعمال ڪندس.
- GitHub مان پروجيڪٽ ڪلون ڪريو ۽ ان کي IDEA ذريعي درآمد ڪريو.
ٿورڙو نظريو... مان واعدو ڪريان ٿو: ڊي
ٿورڙي ڊيبگنگ شروع ڪرڻ لاءِ، توهان کي سمجهڻ جي ضرورت آهي ته بريڪ پوائنٽ ڇا آهي ۽ سمجھو ڪجھ هاٽ ڪيز جيڪي توهان کي شروع ڪرڻ جي ضرورت آهي. BreakPoint هڪ خاص مارڪر آهي جيڪو ڏيکاري ٿو هنڌ يا رياست جنهن تي ايپليڪيشن کي روڪيو وڃي. توهان هڪ بريڪ پوائنٽ سيٽ ڪري سگهو ٿا يا ته کاٻي پاسي واري سائڊبار تي کاٻي ڪلڪ ڪري، يا ڪوڊ جي جڳهه تي ڪلڪ ڪري ۽ Ctrl + F8 کي دٻائيندي . بريڪ پوائنٽس ٽن قسمن ۾ اچن ٿا: لائن نشان، متغير نشان، ۽ طريقو نشان. اهو هن طرح نظر اچي ٿو:-
في لائن:
جيڪڏهن اظهار ۾ هڪ lambda آهي، ته پوءِ IDEA توهان کي هڪ اختيار پيش ڪري ٿو - اظهار کي پوري لائن تي يا خاص طور تي lambda ۾ رکڻ لاءِ:
-
في طريقو:
-
في ڪلاس
- Bee.java:24 - بي ڪلاس ۾ لائن 24 تي
- Main.java:14 - لائن 14 تي مين ڪلاس ۾
اچو ته هلون، اچو ته ڊيبگ جي جهنگلن ۾ ڀڃيون
جيئن ته مان هڪ موروثي ماکيءَ جو پالڻ وارو آهيان، تنهن ڪري ڊيبگنگ جي پريزنٽيشن لاءِ مون هڪ پروجيڪٽ ٺاهيو آهي، جيڪو بيان ڪري ٿو مکين پاران امرت گڏ ڪرڻ، ماکيءَ ۾ ماکيءَ کي پروسيس ڪرڻ ۽ ماکيءَ مان ماکي حاصل ڪرڻ.- مک - هڪ عام ڪم ڪندڙ مکي؛
- BeeQueen - راڻي مکي؛
- BeeHive - beehive؛
- Honey Plant - ماکي جو ٻوٽو جنهن مان ماکي گڏ ڪيو ويندو آهي؛
- مکيه - جتي
public static void main()
طريقو جنهن ۾ منصوبو شروع ٿئي ٿو واقع آهي.
main()
، اهو ظاهر ٿئي ٿو ته نه رڳو ماکي جي مقدار کي ڳڻيو ويو آهي، پر هڪ غلطي پڻ ظاهر ٿئي ٿي ... توهان کي ڏسڻ جي ضرورت آهي ته اتي ڇا غلط آهي. هيٺئين ساڄي ڪنڊ ۾ اسٽيڪ ٽريس مان، اسان ڏسي سگھون ٿا ته ان ۾ HoneyPlant.java:20
، هڪ RuntimeException اڇلايو ويو آهي: اهو بلڪل اسان جو ڪيس آهي: هتي هڪ RuntimeException آهي، اچو ته هڪ اهڙي استثنا جي ڳولا شامل ڪريو، جيئن مٿي بيان ڪيو ويو آهي، ۽ main()
طريقي سان هلون. ڊيبگ موڊ. ھن کي ڪرڻ لاءِ، ھن طريقي کان اڳ Intellij IDEA ۾ سائي ٽڪنڊي تير تي ڪلڪ ڪريو main()
: ۽ ھن آئڪن سان استثنٰي شروع ٿيڻ کان اڳ اسان کي روڪيل پروگرام ملندو . مڪمل معلومات حاصل ڪرڻ لاءِ، توھان کي ڏسڻو پوندو ڊيبگ سيڪشن. ان ۾ آهن Variables ، جيڪو ڏيکاري ٿو سڀني متغيرن کي اپليڪيشن جي هن حصي ۾ موجود:
- امرت = 1.0؛
- nectarCapacity = -1.0.
if ( nectar == 0 ) {
return 0;
}
پر پڪڙي اها آهي ته اهو غلط متغير جي جانچ ڪري رهيو آهي ... ۽ هي ڪوڊ ۾ هڪ بگ آهي. گلن ۾ امرت جي قيمت کي جانچڻ جي بدران، جيڪو نيڪار ڪيپيسيٽي ويريئبل ۾ آهي، اهو پروگرام امرت جي قيمت کي چيڪ ڪري ٿو ، جيڪو طريقو ۾ اچي ٿو ۽ اها رقم آهي جيڪا اهي امرت مان وٺڻ چاهيندا آهن. هتي اهو آهي، پهريون بگ! تنهن ڪري، اسان ان کي صحيح رکون ٿا ۽ اظهار حاصل ڪريو:
if ( nectarCapacity == 0) {
return 0;
}
اڳيون، اسان main()
طريقي کي عام موڊ ۾ هلائيندا آهيون (Run `Main.main()`)
۽ وڌيڪ غلطي ناهي، پروگرام ڪم ڪيو: ايپليڪيشن ڪم ڪيو ۽ جواب ڏنو: "33.0 ماکي 2 ماکيء جي ٻوٽن مان 7 ماکي پيدا ڪيو" سڀ ڪجهه ٺيڪ هوندو، پر جواب اهو آهي. غلط... سڀ ڇاڪاڻ ته ## Documentation
Presentation based on honey getting process.
**Note**: 1 honey point = 2 nectar points
مکيه طريقي مان اهو ڏسي سگهجي ٿو ته ماکيءَ جا ٻه ٻوٽا آهن، 30 ۽ 40 يونٽ ماکيءَ جا، تنهن ڪري آخر ۾ توهان کي ماکي جا 35 يونٽ حاصل ڪرڻ گهرجن. ۽ هو لکي ٿو ته 33. ٻيا ٻه يونٽ ڪيڏانهن ويا؟... هاڻي معلوم ڪنداسين! Main.main()
هن کي ڪرڻ لاء، اسان کي لائن نمبر 28 تي طريقي ۾ هڪ بريڪ پوائنٽ رکڻو پوندو ، جتي اهو عمل ڪيو ويندو آهي beeHive.populateHoney()
۽ main
ڊيبگ موڊ ۾ طريقي سان هلائڻو پوندو: اچو ته هن نقطي تي ويجهي نظر رکون. 28 هين لائين تي عمل ڪرڻ کان اڳ پروگرام بند ٿي ويو. تري ۾ اسان ڏسون ٿا ڊيبگ سيڪشن، جيڪو بيان ڪري ٿو سڀني معلومات کي هلائيندڙ ايپليڪيشن تي. متغير حصو، جيئن اڳ ۾ ئي ذڪر ڪيو ويو آهي، سڀني متغير ۽ شيون شامل آهن جيڪي ايپليڪيشن جي هن حصي مان رسائي لائق آهن. فريم جو حصو ڏيکاري ٿو اهي قدم جيڪي ايپليڪيشن ذريعي ويندا آهن، توهان پوئين قدم کي ڏسي سگهو ٿا ۽ سڀ مقامي ڊيٽا حاصل ڪري سگهو ٿا. پروگرام کي ڪم جاري رکڻ لاءِ، توھان ھيٺ ڏنل ڏيکاريل آھي F9 يا سائي آئڪن کي دٻائي سگھو ٿا: پروگرام کي روڪڻ لاءِ، توھان کي ڳاڙھو چورس تي ڪلڪ ڪرڻ جي ضرورت آھي: ايپليڪيشن کي ڊيبگ موڊ ۾ ريسٽارٽ ڪرڻ لاءِ، توھان کي تير تي ڪلڪ ڪرڻ جي ضرورت آھي: اڳيون، ايپليڪيشن ذريعي قدم قدم تي وڃڻ لاء، توهان ٻه چيڪ استعمال ڪري سگهو ٿا:
- F8 - ڪوڊ جي ھڪڙي حصي ذريعي وڃو ۽ اندروني طريقن ۾ نه وڃو؛
- F7 - ڪوڊ جي ھڪڙي حصي ذريعي وڃو ۽ اندروني طريقا داخل ڪريو.
beeHive.populateHoney()
، اسان کي F7 کي دٻائڻو پوندو، ۽ اڳتي وڌنداسين: اڳيون، اسان F8 استعمال ڪندي ڊيبگ موڊ ذريعي وڃون ٿا آخر تائين ھن طريقي کي استعمال ڪندي ۽ بيان ڪريو ته ھن طريقي ۾ ڇا ٿئي ٿو:
- لائين 25 - اسٽريم API استعمال ڪيو ويندو آھي ماکي گڏ ڪرڻ لاءِ سڀني مکين مان؛
- 26 هين لڪير - ماکي موجوده هڪ ۾ شامل ڪيو ويو آهي؛
- 27 هين لائن - ماکي جا 2 يونٽ راڻي لاءِ مختص ڪيا ويا آهن؛
- 28 هين ليڪ - اهي ٻه يونٽ ماکي جي ڪل رقم مان ڪڍيا ويا آهن؛
- لڪير 29 - راڻي هن ماکي کائيندو آهي.
## 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.
۽ اھو اھو آھي: سڀ مليا آھن حل ڪيا ويا آھن، اسان آرام سان ڪافي پيئڻ جاري رکي سگھون ٿا ۽ جاوا رش خلاصو
هن مقالي ۾ اسان اهو معلوم ڪيو ته:- غلطين کان سواء ڪو به ڪم نه آهي ۽ ڊيبگنگ انهن کي حل ڪرڻ جو هڪ بهترين طريقو آهي؛
- بريڪ پوائنٽ ڇا آهي ۽ ڪهڙي قسم جو اهو موجود آهي؛
- استثنا بريڪ پوائنٽ کي ڪيئن ترتيب ڏيڻ؛
- ڊيبگ موڊ ۾ ڪيئن نيويگيٽ ڪجي.
پڙهڻ لاء آرٽيڪل
- مضمون ۾ استعمال ڪيل منصوبي
- IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪنگ
- پروگرامنگ بابت تلخ حقيقت...
- سرڪاري دستاويز
- بريڪ پوائنٽ جا قسم. سرڪاري دستاويز
GO TO FULL VERSION