আমি ধরে নিয়েছি আপনি Eclipse থেকে স্টেপ-থ্রু ডিবাগিংটি ব্যবহার করতে সক্ষম হতে চান। আপনি কেবল জেআরই ক্লাসপথে বিন ডিরেক্টরিতে নির্মিত ক্লাসগুলি স্থাপন করে বাহ্যিকভাবে ক্লাস পরিচালনা করতে পারেন।
java -cp workspace\p1\bin;workspace\p2\bin foo.Main
আপনি রিমোট ডিবাগার ব্যবহার করে এবং আপনার প্রকল্পে নির্মিত ক্লাস ফাইলগুলির সুবিধা গ্রহণ করে ডিবাগ করতে পারেন।
এই উদাহরণে, গ্রহগ্রহের প্রকল্প কাঠামোটি এরকম দেখাচ্ছে:
workspace\project\
\.classpath
\.project
\debug.bat
\bin\Main.class
\src\Main.java
1. ডিবিগ মোডে জেভিএম কনসোল শুরু করুন
debug.bat একটি উইন্ডোজ ব্যাচ ফাইল যা একটি cmd.exe কনসোল থেকে বাহ্যিকভাবে চালানো উচিত ।
@ECHO OFF
SET A_PORT=8787
SET A_DBG=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=%A_PORT%,server=y,suspend=y
java.exe %A_DBG% -cp .\bin Main
যুক্তিগুলিতে ডিবাগ বন্দরটি 8787 সেট করা হয়েছে । স্থগিত = Y যুক্তি ডিবাগার সংযুক্ত না হওয়া পর্যন্ত অপেক্ষা করতে জেভিএম বলে।
2. একটি ডিবাগ লঞ্চ কনফিগারেশন তৈরি করুন
Eclipse এ, ডিবাগ ডায়ালগটি খুলুন (চালান> ডিবাগ ডায়ালগ খুলুন ...) এবং নিম্নলিখিত সেটিংস সহ একটি নতুন রিমোট জাভা অ্যাপ্লিকেশন কনফিগারেশন তৈরি করুন :
- প্রকল্প: আপনার প্রকল্পের নাম
- সংযোগের ধরণ: স্ট্যান্ডার্ড (সকেট সংযুক্তি)
- হোস্ট: লোকালহোস্ট
- বন্দর: 8787
3. ডিবাগিং
সুতরাং, অ্যাপটি ডিবাগ করতে যে কোনও সময় আপনাকে যা করতে হবে তা হ'ল:
- একটি বিরতি পয়েন্ট সেট করুন
- কনসোলে ব্যাচ ফাইলটি চালু করুন
- ডিবাগ কনফিগারেশন আরম্ভ করুন
আপনি 122429 বাগে এই সমস্যাটি ট্র্যাক করতে পারেন । আপনি এখানে বর্ণিত বিমূর্ত স্তর ব্যবহার করে আপনার অ্যাপ্লিকেশনটিতে এই সমস্যাটি নিয়ে কাজ করতে পারেন ।
System.out
এবংSystem.in
আমার ব্যবহার ক্ষেত্রে জন্য যথেষ্ট হতে হবে এবং ব্যবহার abondaned করতেSystem.console()
।