JavaRush /جاوا بلاگ /Random-SD /IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪنگ
Viacheslav
سطح

IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪنگ

گروپ ۾ شايع ٿيل
لکڻ جو ڪوڊ اڌ جنگ آهي. اهو اڃا تائين صحيح ڪم ڪرڻ جي ضرورت آهي. IDEs ۽ ڊيبگنگ جا اوزار اسان کي هن سان تمام گهڻو مدد ڪن ٿا.
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 1
IntelliJ IDEA کي مثال طور استعمال ڪندي، مان ان سان واقف ٿيڻ جي تجويز پيش ڪريان ٿو ته اسان ڪيئن ڳولي سگهون ٿا ته اسان جي ڪوڊ کي ڇا ٿيندو جڏهن اهو هلندو آهي. ڊيبگ هڪ وسيع موضوع آهي، تنهن ڪري هي جائزو هڪ غوطه خور وانگر، ڊيپ ڊائيونگ پيش نٿو ڪري. پر مون کي اميد آهي ته پڪ سان snorkeling)

تعارف

ڪوڊ لکڻ جو حصو ان کي ڊيبنگ ڪري رهيو آهي. ۽ جيڪڏهن توهان جي ڪمن ۾ ڪوڊ سپورٽ شامل آهي، اتي اڃا به وڌيڪ ڊيبگنگ هوندي. خير، ان کان علاوه، ڊيبگنگ جي مدد سان، توهان استعمال ٿيل لائبريرين ۽ فريم ورڪ جي ڪم کي تمام گهڻي حد تائين جانچي سگهو ٿا جيئن توهان پاڻ کي ڪنهن ٻئي جي ڪوڊ جي جنگل ۾ غرق ڪري سگهو ٿا. اسان جي ٻڏڻ لاء اسان کي ضرورت پوندي: پهرين، ڊائون لوڊ ٿيل آرڪائيو کي کوليو جلدي شروع سورس ڪوڊ سان. IntelliJ Idea لانچ ڪريو ۽ ” موجوده ذريعن کان نئون پروجيڪٽ “ ٺاھيو. hibernate4 subdirectory ۾ pom.xml فائل چونڊيو . جڏهن درآمد ڪريو، وضاحت ڪريو " آمد ڪريو Maven پروجيڪٽ خودڪار طريقي سان " ۽ منصوبي جي ٺاھڻ کي مڪمل ڪريو، ٻين سيٽنگن کي تبديل نه ڪيو وڃي. جڏهن پروجيڪٽ درآمد ڪيو پيو وڃي، ڊائون لوڊ ٿيل WildFly ايپليڪيشن سرور کي ڪجهه ڊاريڪٽري ۾ ان زپ ڪريو. اسان فائل استعمال ڪندي سرور شروع ڪريون ٿا bin\standalone.bat(يا * نڪس سسٽم لاءِ standalone.sh). (!) اهو ضروري آهي ته -debug پيٽرولر سان شروع ڪيو وڃي . اسان سرور جي شروع ٿيڻ جو انتظار ڪريون ٿا. اهي اسان ڏانهن لکندا ته اهو شروع ٿيو ۽ وقت جو اشارو ڪيو. اهو ڪجهه هن طرح نظر ايندو:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 2
اڳيون، اسان کي اهو منصوبو هلائڻو پوندو جيڪو اسان سرور تي چونڊيو آهي. اهو عمل هڪ ننڍڙي دستاويز ۾ بيان ڪيو ويو آهي جيڪو پاڻ ۾ ملي سگهي ٿو پروجيڪٽ ۾: \hibernate4\README.adoc جيئن هن دستاويز ۾ اشارو ڪيو ويو آهي، اسان کي هلائڻ جي ضرورت آهي hibernate4 ڊاريڪٽري ۾: mvn clean package wildfly:deploy اسان هڪ پيغام جو انتظار ڪري رهيا آهيون ته تعمير ڪاميابي سان مڪمل ٿي وئي آهي:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 3
ان کان پوء، سرور لاگ ۾ اسين ڏسي سگھون ٿا ته نئين منصوبي کي ڪيئن "تعير" ڪيو ويو آهي:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 4
ان کان پوء، اسان صفحي تي وڃون ٿا http://localhost:8080/wildfly-hibernate4۽ اسان کي " ميمبر رجسٽريشن " فارم سان ھڪڙو صفحو ڏسڻ گھرجي. تنهن ڪري، تجربن لاءِ اسان جي تياري مڪمل ٿي چڪي آهي ۽ اسان شروع ڪري سگهون ٿا)) واضح ڪرڻ لاءِ اڳيان ڪيتريون ئي تصويرون هونديون، تنهنڪري تيار ٿي وڃو)

ريموٽ ڊيبگ

تنهن ڪري، اسان کي ڊيبگ موڊ کي ترتيب ڏيڻ جي ضرورت آهي ته جيئن اسان جو IDE ايپليڪيشن سرور تي ڪوڊ جي عمل کي ڪنٽرول ڪري. IntelliJ Idea ٻن نسخن ۾ اچي ٿو: مفت (ڪميونٽي) ۽ ادا ڪيل (الٽيميٽ). بعد ۾ سرڪاري طور تي ڪوشش ڪري سگھجي ٿو EAP جي صورت ۾. الٽيميٽ ورزن ۾، سڀ ڪجھ سادو آهي - ايپليڪيشن سرور سڌو سنئون IDE کان ڊيبگ موڊ ۾ شروع ڪري سگھجي ٿو. پر ڪميونٽي ورزن ۾ توهان کي ڪجهه شيون دستي طور ڪرڻ گهرجن. تنهن ڪري، اچو ته هڪ وڌيڪ پيچيده ڪيس تي غور ڪريون، يعني. ڪميونٽي ورزن ۾ سيٽنگ. ڪميونٽي ورزن ۾ ڪجهه حدون آهن. خاص طور تي، توهان ان کان ايپليڪيشن سرور نه هلائي سگهو ٿا. پر توهان ريموٽ ڊيبگنگ (Remote Debug) سيٽ اپ ڪري سگهو ٿا، جڏهن ڪٿي الڳ الڳ هڪ هلندڙ سرور موجود هجي جنهن جي اسان کي ضرورت هجي. اچو ته هتي سيٽ اپ جي وضاحت استعمال ڪريون: IntelliJ Idea ڪميونٽي ايڊيشن ۾ ريموٽ ڊيبگ وائلڊ فلائي (پورٽ 8787 لاءِ ريموٽ رن ڪنفيگريشن سيٽ ڪرڻ). ترتيب ڏيڻ کان پوء، اسان اسان جي نئين ترتيب کي ڊيبگ موڊ ۾ شروع ڪيو:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 5
جيڪڏهن سڀ ڪجهه ٺيڪ آهي، اسان هن بابت هيٺ ڏنل پيغام ڏسندا سين:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 6

ڊيبگ جو عمل

اچو ته ڊيبگ ڪري رڪارڊ کي محفوظ ڪريون. هن کي ڪرڻ لاء، اسان کي پهريان ان جڳهه تي فيصلو ڪرڻو پوندو جتي اسان ڳولينداسين. ونڊو طرفان فيصلو ڪندي، اسان کي "رجسٽر" بٽڻ جي ضرورت آهي. اچو ته ان کي ڪوڊ ۾ ڳولي. تنهن ڪري، اسان کي هڪ عنصر جي ضرورت آهي، اهو متن هجڻ گهرجي: "رجسٽر". يا هن کي ان سان ڪجهه ڪرڻو پوندو. ڪلڪ ڪريو Ctrl+Shift+F۽ ڳولھيو اقتباس ۾ رجسٽر. اسان ڏسون ٿا ته هتي هڪ آهي index.xhtml تي.
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 7
مليل ماخذ ڏانهن وڃڻ لاءِ Enter کي دٻايو:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 8
تنهن ڪري، اسان ڏسون ٿا ته رجسٽر ڪرڻ وقت، memberController.register سڏيو ويندو آهي. ظاهر آهي، اهو ڪنهن قسم جو جاوا ڪلاس هوندو. ڪلڪ ڪريو Ctrl+N۽ ڳولھيو:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 9
درحقيقت، هڪ اهڙو طبقو آهي. اچو ته ان ۾ وڃو. ظاهر آهي، اتي هڪ رجسٽري طريقو هجڻ گهرجي. ڪلڪ ڪريو Ctrl+F12۽ رجسٽر جو طريقو ڳوليو
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 10
درحقيقت، اسان اهو مليو. ظاهري طور تي، رجسٽريشن هتي ٿئي ٿي، memberRegistration.register ۾ . Ctrl کي دٻايو ۽ ان ۾ "گرڻ" جي طريقي تي ڪلڪ ڪريو:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 11
اچو ته ھاڻي ”بريڪ پوائنٽ“ يا بريڪ پوائنٽ مقرر ڪريون. هي هڪ مارڪر آهي جيڪو ٻڌائي ٿو ته ڪٿي ڪوڊ جي عمل کي روڪڻ گهرجي. هن وقت اسان کي ڪافي دلچسپ شيون سکڻ جو موقعو ملندو. ان کي رکڻ لاءِ، توھان کي ڪلڪ ڪرڻ جي ضرورت آھي جڳھ ۾ لائن نمبر جي ساڄي پاسي.
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 12
صفحي تي http://localhost:8080/wildfly-hibernate4 فيلڊ ۾ ڀريو ۽ رجسٽر بٽڻ تي ڪلڪ ڪريو. پينل تي آئيڊيا آئڪن چمڪندو:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 13
Idea ڏانهن وڃڻ، توهان ڏسي سگهو ٿا ته ڊيبگ پينل ۾ تمام گهڻي دلچسپ معلومات آهي:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 14
هتي توهان ڏسي سگهو ٿا اعتراض جي فيلڊ جي قيمت. مثال طور، هڪ رجسٽرڊ ميمبر ڇا تي مشتمل آهي:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 15
زبردست. اسان ٻيو ڇا ڪري سگهون ٿا؟ اسان ڪنيڪشن مينيو کولي سگھون ٿا ۽ اتي چونڊيو ايڪسپريس جو جائزو وٺو (يا مينيو ذريعي Run -> Evaluate Expression). اڃا بهتر، ڊيبگر ڪنٽرول پينل تي:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 16
هي هڪ بريڪ پوائنٽ تي هڪ سپر ٿڌي قابليت آهي، هر شي تائين رسائي حاصل ڪرڻ لاءِ انهي ڪوڊ پوائنٽ تائين رسائي آهي، ڪنهن به ڪوڊ کي هلائڻ لاءِ جيڪو انهي نقطي تي عمل ۾ اچي سگهي ٿو. مثال طور:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 17
ڊيبگر ڪنٽرول پينل تي ڪنٽرول بٽڻ پڻ آهن جيڪي ذميوار آهن جتي توهان پروگرام جي وهڪري ڪنٽرول کي منتقل ڪرڻ چاهيو ٿا. ڇا اهو جادو ناهي؟) F8 (Step Out) بٽڻ کي دٻائڻ سان، اسان طريقن ۾ داخل ٿيڻ کان سواءِ ڪوڊ ذريعي هلون ٿا. F9 کي دٻائڻ سان، اسان ڊيبگر سان ڪوڊ جي لائنن ذريعي هلڻ بند ڪريون ٿا، ۽ ڊيبگر کي پروگرام جي عمل تي ڪنٽرول ڏيون ٿا. جيڪڏهن اسان F7 (Step Into) کي دٻايو، ته پوءِ اسان ڪوڊ ذريعي وڃون ٿا، هر طريقي ۾ داخل ڪنداسين جيڪو اسان رستي ۾ ملن ٿا. رستي جي ذريعي، هن معلومات بلاڪ تي خاص ڌيان ڏيو:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 18
اهو ڏيکاري ٿو ته اسان جنهن سلسلي ۾ آهيون ۽ موجوده سلسلي جي اسٽيڪ تي طريقا. پر اهو سڀ ڪجهه ناهي. سهولت لاءِ، توهان کوليو ٿا فريم ٽيب. هن کي ڪرڻ لاء، ان کي فعال هجڻ ضروري آهي:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 19
ھاڻي فريم ٽئب تي اسان معلومات ڏسون ٿا طريقي کان طريقي جي منتقلي بابت، ڇاڪاڻ ته Step Into استعمال ڪندي ڪوڊ ذريعي هلڻ شروع ڪيو.
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 20
جيئن اسان ڏسون ٿا، اسان هميشه کي منتقل نه ڪري سگهون ٿا جتي پروگرام هن وقت تي عمل ڪيو پيو وڃي. اسان هاڻي "getDelegate:469، AbstractEntityManager(org.jboss.as.jpa.container)" تي آهيون. پر حقيقت ۾، اسان عمل ۾ آهيون. اهو بيان ڪيل طبقي مان ثابت ٿئي ٿو:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 21
اچو ته ان تي نظر وجهون. جيئن اسان ڄاڻون ٿا، اهو موجوده اعتراض ڏانهن اشارو ڪري ٿو. اسان TransactionScopedEntityManager تي آهيون. Idea اسان کي ڪوڊ ڇو نٿو ڏيکاري؟ حقيقت اها آهي ته IntelliJ Idea في الحال ڪنهن به TransactionScopedEntityManager جي باري ۾ ڄاڻ ناهي، ڇاڪاڻ ته اهو اسان جي منصوبي سان ڳنڍيل ناهي (اهو منصوبي جي انحصار ۾ ناهي). جڏهن هڪ ايپليڪيشن سرور هلندو آهي، اتي ڪيتريون ئي، ڪيتريون ئي مختلف لائبريريون هلنديون آهن. پر اسان انهن جي باري ۾ تمام گهٽ ڄاڻون ٿا، ڇاڪاڻ ته ... عام طور تي، اسان کي اندروني طور تي ڳولڻ جي ضرورت ناهي، اسان کي صرف ڪم ڪرڻ جي ضرورت آهي. پر ڪڏهن ڪڏهن ڪم يا راندين جي دلچسپي ان جي ضرورت آهي. پوء، توهان کي هن لائبريري بابت آئيڊيا کي آگاهي ڏيڻ جي ضرورت آهي ته جيئن اهو ڄاڻي ٿو ته ڪلاس ڪوڊ ڪٿي حاصل ڪرڻ لاء.

ڊيبگنگ لاءِ ٽئين پارٽي لائبريرين کي ڳنڍڻ

پهرين، اسان کي پاڻ کي سمجهڻ جي ضرورت آهي ته اها ڪهڙي قسم جي لائبريري آهي جنهن کي ڳنڍڻ جي ضرورت آهي. پهريون طريقو تمام ڏکيو آهي - انٽرنيٽ تي ڳولا. نتيجو ڳولڻ جي رفتار ۽ نتيجو گهڻو ڪري ان تي منحصر آهي ته منصوبي کي ڪيئن منظم ڪيو ويو. مثال طور، WildFly هڪ کليل مخزن آهي. تنهن ڪري جڏهن اسان گوگل “TransactionScopedEntityManager” ڪنداسين ته اسان https://github.com/wildfly/wildfly/tree/master/jpa/subsystem ڏانهن وينداسين ۽ ڳولينداسين ته اسان کي wildfly-jpa جي ضرورت آهي. ٻيو طريقو صحيح آهي. جتي سرور آهي، اتي ڏس. مختلف وسيلا هن سان مدد ڪري سگهن ٿيون. مثال طور، ونڊوز تي اهو ٿي سگهي ٿو Far Manager . هيٺ ڏنل ڳولا الگورتھم جو هڪ مثال آهي. ان کي انسٽال ڪرڻ ۽ لانچ ڪرڻ کان پوءِ، استعمال ڪريو ٽيب مان ھڪڙي ڏانھن سوئچ ڪرڻ لاءِ، Alt+F1کاٻي ٽيب يا Alt+F2ساڄي ھڪڙي کي استعمال ڪندي، ۽ ورهاڱي کي چونڊيو جيڪو اسان کي هارڊ ڊرائيو تي گھربل آھي. اهو بلڪل ممڪن آهي ته پري مئنيجر ڊاريڪٽري پاڻ کي انسٽاليشن کان پوء پري مئنيجر ۾ کليل آهي. ڊسڪ جي روٽ ڏانھن وڃڻ لاء، پريس ڪريو Ctrl + \. استعمال ڪندي، Alt+Fسرچ ونڊو کوليو، ڊاريڪٽري جو نالو ٽائيپ ڪرڻ شروع ڪريو ۽ ڊاريڪٽري ملي وڃڻ کان پوءِ Enter کي دٻايو. ھي ڳولھا ھوشيار آھي ۽ انھن ڊاريڪٽريز کي نمايان ڪري ٿو جيڪي ڳولھا جي متن سان ملن ٿيون. جيڪڏھن توھان اکر داخل ڪريو جن لاءِ فولڊر نه آھن، پوءِ اھي اکر داخل نٿا ڪري سگھجن. هن طريقي سان اسان وڃون ٿا ايپليڪيشن سرور ڊاريڪٽري. اچو ته اسان کي خبر ناهي ته ماڊل ڪٿي آهن سرور تي. شايد اهو توهان جي زندگيءَ ۾ پهريون ڀيرو آهي جو توهان ڪنهن قسم جي وائلڊ فلائي بابت ٻڌي رهيا آهيو. تنهن ڪري، فوري طور تي ڪلڪ ڪريو هتي Alt+F7فائلون ڳولڻ لاء. تنهن ڪري، منطق ترتيب ڏئي ٿو: اسان کي لائبريري سان فائل جي ضرورت آهي. اهو آهي، اسان کي هڪ برتن جي ضرورت آهي. اتي ھڪڙو TransactionScopedEntityManager ڪلاس ھجڻ گھرجي. ڇاڪاڻ ته class = فائل، پوءِ ڏسو ”شامل“. يعني ڪجهه هن طرح:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 22
هاڻي اچو ته نتيجن جو انتظار ڪريون. هو توهان کي انتظار نه ڪندو)
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 23
ھاڻي اسان کي ان لاءِ سرچ ڪوڊ ڳولڻو پوندو. ۽ اتي 2 اختيار آهن: اچو ته استعمال ڪريون، شايد، ٻيو. اچو ته اتي ڳوليون:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 24
هاڻي اچو ته انحصار کي بيان ڪرڻ ڏانهن وڃو. ھن صفحي تي توھان ڊائون لوڊ ڪري سگھو ٿا سورس ڪوڊ. چڱو، هاڻي اسان وٽ ڪوڊ ڊائون لوڊ ڪيو ويو آهي. باقي رهي ٿو لائبريري کي ڳنڍڻ. اهو انتهائي آسان سان ڳنڍيندو آهي. اسان کي پروجيڪٽ سيٽنگون کولڻ جي ضرورت آهي:
IntelliJ IDEA ۽ ڊيبگ: ڊائيونگ نه، پر سنورڪلنگ - 25
اتي اسان ”لائبريري“ کي منتخب ڪريون ٿا ۽ حاصل ڪيل سورس ڪوڊز کي ”ذريعو“ سيڪشن ۾ شامل ڪريون ٿا، ۽ ”ڪلاسس“ سيڪشن ۾ اسان وائلڊ فلائي ڊاريڪٽري مان لائبريري جار فائل پاڻ کي ظاهر ڪريون ٿا، جيڪو اسان فار مئنيجر استعمال ڪندي مليو. ان کان پوء، جڏهن اسان F7 ذريعي وڃو، اسان AbstractEntityManager ۽ TransactionScopedEntityManager ڪلاس جي مواد کي ڏسندا سين، ۽ پڻ Ctrl+N استعمال ڪندي ڪلاس جي ڳولا ذريعي دستياب ٿي ويندا.

شرطن سان ٽوڪ پوائنٽون

اچو ته ھاڻي بريڪ پوائنٽس ڏانھن موٽون. ڪڏهن ڪڏهن، اسان هميشه کي روڪڻ نٿا چاهيون، پر صرف ڪجهه حالتن هيٺ. ڇا ڪجي؟ ۽ هتي اسان جي IDE به اسان جي مدد ڪندو. برڪ پوائنٽ کي رکڻ سان، اسان ان کي شرط مقرر ڪري سگھون ٿا. مثال طور، هڪ پوائنٽ رکو ۽ ان تي صحيح ڪلڪ ڪريو:
IntelliJ IDEA и Debug : Не дайвинг, но снорклинг - 26
هاڻي بريڪ پوائنٽ صرف فائر ڪندو جڏهن نالو ميڪسيميلين آهي. وڌيڪ بٽڻ کي دٻائڻ سان، بريڪ پوائنٽس لاءِ سيٽنگن جو وڌايل سيٽ توھان وٽ موجود ھوندو.

بريڪ پوائنٽس استثنا تي

ڪڏهن ڪڏهن اسان کي هڪ غلطي ملي سگهي ٿي ۽ اسان اهو ڳولڻ چاهيون ٿا ته اها ڪٿان آئي آهي. پوءِ اسان بريڪ پوائنٽ شامل ڪري سگھون ٿا ڪوڊ جي مخصوص لائن تي نه، پر ان جاءِ تي جتي استثنا اڇلايو ويندو. هن کي ڪرڻ لاء، توهان کي سڀني بريڪ پوائنٽن جي فهرست کي وڌائڻ جي ضرورت آهي:
IntelliJ IDEA и Debug : Не дайвинг, но снорклинг - 27
۽ چونڊيل استثنا جي قسم لاءِ نئون قاعدو ٺاھيو:
IntelliJ IDEA и Debug : Не дайвинг, но снорклинг - 28
مثال طور، NPE لاء:
IntelliJ IDEA и Debug : Не дайвинг, но снорклинг - 29

HotSwap ڪلاس

Debugger هڪ عجيب شيء آهي. ڊيبگنگ کان علاوه، اهو توهان کي ڪلاس تبديل ڪرڻ جي اجازت ڏئي ٿو! ها، وسيلا (جهڙوڪ xhtml صفحا، مثال طور) ايتري آساني سان تبديل نه ٿا ڪري سگهجن. پر جاوا طبقن جو ڪوڊ اڏامي تي تبديل ڪري سگھجي ٿو (ھن کي گرم ادل سڏيو ويندو آھي). هن کي ڪرڻ لاء، صرف ڊيبگر سان ڳنڍيل ڪلاس کي تبديل ڪريو ۽ هلائڻ -> تبديل ٿيل ڪلاس ٻيهر لوڊ ڪريو. هن موضوع تي مفيد جائزو: JVM تي گرم-سوپ ڪوڊ جا 4 مفت طريقا

نتيجو

هڪ ڊيبگر هڪ طاقتور اوزار آهي جيڪو هڪ ڊولپر کي اجازت ڏئي ٿو ته ايگزيڪيوٽو ڪوڊ جي تمام کوٽائي ۾ داخل ٿئي ۽ ان کي هر تفصيل سان مطالعو ڪري. هي توهان کي سڀ کان وڌيڪ پريشان ڪندڙ غلطين کي درست ڪرڻ جي اجازت ڏئي ٿو. اهو توهان کي بهتر سمجهڻ جي اجازت ڏئي ٿو ته ڪجهه لائبريريون ڪيئن ڪم ڪن ٿيون. جيتوڻيڪ اهڙو مختصر جائزو ڪافي متاثر ڪندڙ ثابت ٿيو، پر اميد اٿم ته اهو مفيد ۽ دلچسپ هوندو. جيڪڏهن ڪو به هن مواد ۾ دلچسپي رکي ٿو، ته توهان هيٺ ڏنل لنڪس استعمال ڪندي ڊائيو جاري ڪري سگهو ٿا:
IntelliJ IDEA и Debug : Не дайвинг, но снорклинг - 30
#وياچسلاو
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION