উত্তর:
আপনার বর্তমান নির্দেশ পয়েন্টার (লাইন আগামী মৃত্যুদন্ড কার্যকর করা হবে, দ্বারা নির্দেশিত সঙ্গে নিম্নলিখিত কোড বিবেচনা করুন ->
) এ f(x)
লাইন g()
, ডাকা হয়েছে g(2)
লাইন main()
:
public class testprog {
static void f (int x) {
System.out.println ("num is " + (x+0)); // <- STEP INTO
}
static void g (int x) {
-> f(x); //
f(1); // <----------------------------------- STEP OVER
}
public static void main (String args[]) {
g(2);
g(3); // <----------------------------------- STEP OUT OF
}
}
আপনি ধাপে হলে প্রবেশ এই মুহুর্তে, আপনি সরে যাবে println()
লাইন f()
, ফাংশন কলে পরিণত পদবিন্যাস।
আপনি ধাপে হলে বেশি এই মুহুর্তে, আপনি সরে যাবে f(1)
লাইন g()
, ফাংশন কল উপর পদবিন্যাস।
ডিবাগারগুলির আরেকটি দরকারী বৈশিষ্ট্য হ'ল পদক্ষেপের বাইরে যাওয়া বা পদক্ষেপ । সেক্ষেত্রে, এক ধাপের রিটার্ন মূলত আপনাকে বর্তমান ফাংশনটির মাধ্যমে চালিয়ে দেবে যতক্ষণ না আপনি একটি মাত্রা ব্যাক আপ করেন। অন্য কথায়, এটা মাধ্যমে পইঠা হবে f(x)
এবং f(1)
তারপর, কলিং ফাংশনে আউট পিছে শেষ করতে g(3)
মধ্যে main()
।
অন্ধকার (অন্তত ইউরোপা, যা শুধুমাত্র আমি মুহূর্তে কুশলী আছে) ব্যবহার করে F5জন্য step into
, F6জন্য step over
এবং F7জন্য step return
।
g(3)
; main()
" <- আপনি কি ধরে নিচ্ছেন যে আপনি আপনার বর্তমান অবস্থানটি পেয়েছেন g(2)
এবং একবার শেষ হয়ে গেলে আপনি তার পরবর্তী লাইনে ফিরে যান g(3)
?
g(2)
বা না g(3)
) তাই আমি প্রথম অনুচ্ছেদে এটি পরিষ্কার করেছি। সতর্ক থাকুন জন্য ধন্যবাদ।
কোডের লাইনগুলি ডিবাগ করার সময়, এখানে স্বাভাবিক পরিস্থিতি রয়েছে:
গ্রহনের অন্যান্য উন্নত ডিবাগিং বৈশিষ্ট্য রয়েছে তবে এগুলি হল প্রাথমিক মৌলিক বিষয়গুলি।
মেথড কলগুলিতে
পদক্ষেপ নেবে কেবল ধাপে লাইনটি কার্যকর হবে এবং পরেরটিতে যাবে
আপনি স্টেপ ওভারটি ব্যবহার করে পদ্ধতির বিশদটি অতিক্রম করতে পারবেন না। আপনি যদি বর্তমান লাইনটি এড়াতে চান, আপনি ধাপে ওভারটি ব্যবহার করতে পারেন, তারপরে আপনাকে F6পরবর্তী লাইনে যাওয়ার জন্য কেবল একবারের জন্য চাপতে হবে। এবং যদি আপনি মনে করেন যে পদ্ধতিটির মধ্যে কিছু ভুল F5হয়েছে তবে বিশদটি পরীক্ষা করে দেখুন।
পদক্ষেপ প্রবেশ করানোর জন্য বর্তমানে নির্বাচিত লাইনটির পরবর্তী অভিব্যক্তিটি আহ্বান করা হয় এবং অনুরোধ করা পদ্ধতিতে পরবর্তী এক্সিকিউটেবল লাইনে এক্সিকিউশন স্থগিত করা হয়।
পদক্ষেপের ওপরে বর্তমানে নির্বাচিত লাইনটি কার্যকর করা হয় এবং পরবর্তী এক্সিকিউটেবল লাইনে স্থগিত করা হয়।