ইন্টেলিজ আইডিইএ ডিবাগারটি কোনও চলমান জাভা প্রক্রিয়াতে সংযুক্ত করা সম্ভব? যদি হ্যাঁ, কিভাবে?
ইন্টেলিজ আইডিইএ ডিবাগারটি কোনও চলমান জাভা প্রক্রিয়াতে সংযুক্ত করা সম্ভব? যদি হ্যাঁ, কিভাবে?
উত্তর:
হ্যাঁ! আপনি এটি সেট আপ এখানে।
রিমোট রান কনফিগারেশন তৈরি করুন:
উপরের কনফিগারেশনটি কেবল তিনটি পঠনযোগ্য ক্ষেত্র সরবরাহ করে। এই বিকল্পগুলি যা আপনার অ্যাপ্লিকেশনটি চালানোর সময় জেভিএমকে দূরবর্তী ডিবাগিংয়ের জন্য 5005 পোর্ট খুলতে বলে tell আপনি যে অ্যাপ্লিকেশনটি ডিবাগ করছেন তার JVM বিকল্পগুলিতে উপযুক্তটিকে যুক্ত করুন। আপনি এটি করতে পারেন এমন এক উপায় এরকম হতে পারে:
export JAVA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
তবে এটি আপনার অ্যাপ্লিকেশনটি কীভাবে চালায় তার উপর নির্ভর করে। আপনি যদি নিশ্চিত হন না যে তিনটির মধ্যে কোনটি আপনার জন্য প্রযোজ্য, প্রথমে শুরু করুন এবং কাজ করে এমন একটি না পাওয়া পর্যন্ত তালিকায় নামুন।
আপনার অ্যাপ্লিকেশনটি শুরু হওয়ার আগেই আপনি ইন্টেলিজের সাথে সংযোগ না করা পর্যন্ত অপেক্ষা করতে বাধ্য করতে আপনি পরিবর্তন suspend=n
করতে পারেন suspend=y
। আপনি যে ব্রেক ব্রেকপয়েন্টটি আঘাত করতে চান তা অ্যাপ্লিকেশন প্রারম্ভের সময় ঘটলে এটি সহায়ক।
আপনার অ্যাপ্লিকেশনটি আপনি যেমন সাধারণত শুরু করেন তেমনই শুরু করুন, তারপরে ইন্টেলিজে নতুন কনফিগারেশনটি নির্বাচন করুন এবং 'ডিবাগ' টিপুন।
ইন্টেলিজ জেভিএমের সাথে সংযুক্ত হবে এবং রিমোট ডিবাগিং শুরু করবে।
আপনি এখন পছন্দসই আপনার কোডে ব্রেকপয়েন্ট যুক্ত করে অ্যাপ্লিকেশনটি ডিবাগ করতে পারেন। অ্যাপ্লিকেশনটির আউটপুটটি আগে যেখানেই প্রদর্শিত হয়েছিল সেখানে উপস্থিত হবে তবে আপনার ব্রেকপয়েন্টগুলি ইনটেলিজজে আঘাত হানে।
Remote
সম্প্রদায় সংস্করণে পাওয়া যায় না? আমি অর্থ প্রদান করা সংস্করণ ব্যবহার করছি। সম্প্রদায় সংস্করণ সহ যে কেউ নিশ্চিত করতে পারেন?
System.out.println
দূরবর্তী ডিবাগিংয়ের সময় কীভাবে ইন্টেলিজিয়ায় আউটপুট আটকানো যায় ?
এটি সম্ভব, তবে আপনি যখন অ্যাপ্লিকেশন শুরু করবেন তখন আপনাকে কিছু জেভিএম পতাকা যুক্ত করতে হবে।
আপনাকে দূরবর্তী ডিবাগ কনফিগারেশন যুক্ত করতে হবে: কনফিগারেশন সম্পাদনা করুন -> রিমোট।
তারপরে আপনি প্রদর্শিত প্রোগ্রামের ডায়ালগ উইন্ডো প্যারামিটারগুলিতে পাবেন যা আপনাকে প্রোগ্রামের প্রয়োগে যুক্ত করতে হবে, যেমন:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
তারপরে আপনার অ্যাপ্লিকেশন চালু হওয়ার পরে আপনি আপনার ডিবাগারটি সংযুক্ত করতে পারেন। আপনি যদি নিজের অ্যাপ্লিকেশনটি ডিবাগার সংযুক্ত না হওয়া পর্যন্ত অপেক্ষা করতে চান তবে সাসপেন্ড ফ্ল্যাগটি y ( suspend=y
) এ পরিবর্তন করুন
AndroidStudio বা ধারণাতে
"ভিএম বিকল্পগুলি" কনফিগারেশন
“-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005”
"ঠিকানা" মনে রাখবেন
এছাড়াও আমি টমক্যাট জিইউআই অ্যাপ্লিকেশনটি ব্যবহার করি (আমার ক্ষেত্রে: সি: om টমক্যাট \ বিন \ টোম্যাট 9 ডাব্লু.বিন)।
জাভা ট্যাবে যান :
আপনার জাভা বৈশিষ্ট্যগুলি সেট করুন, উদাহরণস্বরূপ:
জাভা ভার্চুয়াল মেশিন
সি: \ প্রোগ্রাম ফাইল \ জাভা \ jre-10.0.2 \ বিন \ সার্ভার \ jvm.dll
জাভা ভার্চুয়াল মেশিন
সি: \ হুল বিড়াল \ বিন \ bootstrap.jar; সি: \ হুল বিড়াল \ বিন \ হুল বিড়াল-juli.jar
জাভা বিকল্পগুলি :
-Dcatalina.home = C: \ হুল বিড়াল
-Dcatalina.base = সি: \ হুল বিড়াল
-Djava.io.tmpdir = সি: \ হুল বিড়াল \ টেম্প
-Djava.util.logging.config.file = সি: \ হুল বিড়াল \ সার্ভার \ logging.properties
-agentlib: jdwp = পরিবহন = dt_socket, সার্ভার = Y, সাসপেন্ডের = ঢ, ঠিকানা = *: 8000
জাভা 9 বিকল্প :
--add-প্রর্দশিত = java.base / java.lang = সব-নামহীন
--add-প্রর্দশিত = java.base / java.io = সব-নামহীন
--add-প্রর্দশিত = java.rmi / sun.rmi.transport = সব-নামহীন