1. বাগ

প্রোগ্রামারদের নিজস্ব স্ল্যাং আছে, যদিও অনেকে এটাকে প্রযুক্তিগত শব্দ বলে মনে করে। যাই হোক না কেন, আপনি এটি জানতে এড়াতে পারবেন না। আপনি বিস্তারিত মধ্যে ডুব প্রয়োজন. তাই এর মধ্যে ডুব দিন.

প্রথম যে শব্দটি আপনি জানতে পারবেন তার মধ্যে একটি হল " বাগ ", অর্থাৎ একটি পোকা । সফটওয়্যার ডেভেলপমেন্টের প্রেক্ষাপটে, এই শব্দের অর্থ হল একটি প্রোগ্রামে একটি ত্রুটি , প্রোগ্রামের একটি উদাহরণ যা কিছু ভুল করছে বা একেবারে সঠিক নয়। অথবা কেবল অদ্ভুতভাবে কাজ করে।

কিন্তু যদি একজন প্রোগ্রামার মনে করেন যে প্রোগ্রামটি, তার অদ্ভুত আচরণ সত্ত্বেও, এটি ঠিক যা করার কথা তাই করছে, তাহলে সে সাধারণত কিছু ঘোষণা করে যেমন "এটি একটি বাগ নয়, এটি একটি বৈশিষ্ট্য"। যা একগুচ্ছ ইন্টারনেট মেম তৈরি করেছে।

সাধারণভাবে, সফ্টওয়্যার ত্রুটির জন্য যেকোন সংখ্যক কারণ থাকতে পারে: প্রোগ্রামের যুক্তি, টাইপো এবং ভুল প্রোগ্রাম আর্কিটেকচারের ত্রুটি থেকে শুরু করে কম্পাইলারের সমস্যা পর্যন্ত। যাই হোক না কেন, প্রোগ্রামারদের তাদের প্রোগ্রামে প্রকৃত বাগ এবং অন্য যেকোন "অপূর্ণতা" উভয়ই ঠিক করতে হবে।

"বাগ" শব্দের ইতিহাস

"বাগ" শব্দের উৎপত্তির সবচেয়ে সাধারণ সংস্করণটি একটি কিংবদন্তির কিছু।

1945 সালের সেপ্টেম্বরে, হার্ভার্ড বিশ্ববিদ্যালয়ের বিজ্ঞানীরা প্রথম কম্পিউটারগুলির একটি, মার্ক II পরীক্ষা করছিলেন। কম্পিউটারটি সঠিকভাবে কাজ করছিল না, এবং সমস্ত বোর্ড চেক করার প্রক্রিয়ায়, তারা একটি ইলেক্ট্রোমেকানিকাল রিলে এর পরিচিতির মধ্যে একটি মথ আটকে আছে।

নিষ্কাশিত পোকাটিকে একটি প্রযুক্তিগত লগে টেপ করা হয়েছিল, যার সাথে এই শিলালিপি ছিল: "বাগের প্রথম প্রকৃত ঘটনা পাওয়া গেছে।"

এই মজার গল্পটি একটি ত্রুটি বোঝাতে " বাগ " শব্দের ব্যবহার শুরু বলে মনে করা হয় এবং " ডিবাগ " শব্দটি বাগ দূর করার সমার্থক হয়ে উঠেছে।


2. প্রোগ্রাম ডিবাগিং

তাদের প্রোগ্রামে বাগ ঠিক করতে, প্রোগ্রামাররা ডিবাগার নামে বিশেষ প্রোগ্রাম ব্যবহার করে । এর মধ্যে কিছু প্রোগ্রাম এমনকি মেশিন কোড ডিবাগ করতে জানে।

জাভা প্রোগ্রামাররা তাদের প্রোগ্রাম ডিবাগ করার জন্য IDE ব্যবহার করে । যেমন IntelliJ IDEA, Eclipse, এবং NetBeans। IntelliJ IDEA এখন পর্যন্ত সবচেয়ে শক্তিশালী IDE, তাই আমরা এটিকে উদাহরণ হিসেবে ব্যবহার করে ডিবাগিং প্রক্রিয়ার মধ্য দিয়ে যাব।

IntelliJ IDEA আপনার প্রোগ্রাম দুটি মোডে চালাতে পারে:

এক্সিকিউশন মোড টুলবার আইকন হটকি
স্বাভাবিক মৃত্যুদন্ড Shift+F10
ডিবাগ মোডে শুরু করুন Shift+F9

আপনি ইতিমধ্যেই স্বাভাবিক নির্বাহের সাথে পরিচিত: প্রোগ্রাম শুরু হয়, চলে এবং প্রস্থান করে। কিন্তু ডিবাগ মোডে আপনার জন্য অনেক চমক রয়েছে।

সংশোধনের ধাপ

ডিবাগ মোড আপনাকে আপনার সম্পূর্ণ প্রোগ্রামের মাধ্যমে ধাপে ধাপে চলতে দেয় । অথবা আরো সঠিকভাবে, এটি আপনাকে লাইন দ্বারা লাইন সরাতে দেয় । আরও কী, আপনি প্রোগ্রামের প্রতিটি ধাপে (কোডের প্রতিটি লাইন কার্যকর হওয়ার পরে) ভেরিয়েবলের মানগুলি পর্যবেক্ষণ করতে পারেন। এবং আপনি এমনকি তাদের মান পরিবর্তন করতে পারেন!

একটি প্রোগ্রাম ডিবাগ করার একটি ন্যূনতম উপলব্ধি অর্জন করতে, আপনাকে তিনটি জিনিস শিখতে হবে:

  • ব্রেকপয়েন্ট
  • ধাপে ধাপে মৃত্যুদন্ড
  • ভেরিয়েবলের মান পরিদর্শন করা হচ্ছে

3. ব্রেকপয়েন্ট

IDE আপনাকে আপনার কোডে ব্রেকপয়েন্ট নামক বিশেষ মার্কার স্থাপন করতে দেয়। প্রতিবার ডিবাগ মোডে চলমান একটি প্রোগ্রাম ব্রেকপয়েন্ট দ্বারা চিহ্নিত একটি লাইনে পৌঁছালে , এক্সিকিউশন থামবে।

একটি নির্দিষ্ট লাইনে একটি ব্রেকপয়েন্ট রাখতে , আপনাকে IDEA-তে লাইনের বাম দিকে ক্লিক করতে হবে। উদাহরণ:

ব্রেকপয়েন্ট IntelliJ IDEA

লাইনটি একটি ব্রেকপয়েন্ট দিয়ে চিহ্নিত করা হবে, এবং IntelliJ IDEA এটিকে লাল রঙে হাইলাইট করবে:

একটি ব্রেকপয়েন্ট দিয়ে চিহ্নিত

কোডের বাম দিকের প্যানে দ্বিতীয় মাউস ক্লিক করলে ব্রেকপয়েন্টটি মুছে যাবে

হটকি সংমিশ্রণ + ব্যবহার করে একটি ব্রেকপয়েন্ট বর্তমান লাইনে স্থাপন করা যেতে পারে । ইতিমধ্যে একটি ব্রেকপয়েন্ট আছে এমন একটি লাইনে + আবার চাপলে এটি মুছে যাবে।CtrlF8CtrlF8


4. ডিবাগ মোডে প্রোগ্রাম শুরু করুন

আপনার প্রোগ্রামে অন্তত একটি ব্রেকপয়েন্ট থাকলে, আপনি Shift+ টিপে F9বা "বাগ আইকন" ক্লিক করে ডিবাগ মোডে প্রোগ্রামটি চালাতে পারেন।

ডিবাগ মোডে শুরু করার পরে, প্রোগ্রামটি যথারীতি চলে। কিন্তু যত তাড়াতাড়ি এটি একটি ব্রেকপয়েন্ট দ্বারা চিহ্নিত কোডের একটি লাইনে পৌঁছাবে , এটি বিরতি দেবে। উদাহরণ:

ডিবাগ মোডে প্রোগ্রামটি শুরু করুন

স্ক্রিনশটের উপরের অর্ধেক, আপনি দুটি ব্রেকপয়েন্ট সহ প্রোগ্রাম কোড দেখতে পাচ্ছেন। প্রোগ্রামটির এক্সিকিউশন 5 লাইনে বন্ধ হয়ে গেছে, যা একটি নীল রেখা দিয়ে চিহ্নিত করা হয়েছে। লাইন 5 এখনও কার্যকর করা হয়নি: এখনও কনসোলে কিছুই আউটপুট করা হয়নি।

স্ক্রিনের নীচের অর্ধেক, আপনি ডিবাগ প্যানগুলি দেখতে পাচ্ছেন: ডিবাগার প্যান, কনসোল  ফলক এবং ডিবাগ মোডের জন্য বোতামগুলির একটি সেট৷

আপনি নিচের বাম দিকের প্যানে (বা প্রেস ) রিজুম প্রোগ্রাম বোতাম টিপে আপনার প্রোগ্রামটি আনপজ করতে পারেন (যেমন এক্সিকিউশন চালিয়ে যান) ।F9

ডিবাগ মোডে প্রোগ্রাম শুরু করুন 3

আপনি যদি এই বোতাম টিপুন (বা F9), প্রোগ্রামটি চলতে থাকবে যতক্ষণ না এটি পরবর্তী ব্রেকপয়েন্টের সম্মুখীন হয় বা শেষ না হয়। বোতামে ক্লিক করার পর আমরা যা দেখতে পাই তা এখানে:

ডিবাগ মোড 4 এ প্রোগ্রামটি শুরু করুন

প্রোগ্রামটি দ্বিতীয় ব্রেকপয়েন্টে থামে এবং শব্দগুলি Helloএবং andকনসোলে দেখা যায়। এটি একটি চিহ্ন যে আমরা স্ক্রিনে আউটপুট প্রদর্শনকারী তিনটি লাইনের মধ্যে মাত্র দুটি কার্যকর করেছি।


5. ধাপে ধাপে সম্পাদন

যদি আপনার প্রোগ্রামটি ডিবাগ মোডে চলছে, তাহলে আপনি এটির মাধ্যমেও যেতে পারেন: এক ধাপ হল এক লাইন । ধাপে ধাপে সঞ্চালনের জন্য দুটি হটকি রয়েছে: F7এবং F8: প্রতিটি কোডের বর্তমান লাইনটি কার্যকর করার কারণ। কিন্তু প্রথমে, আপনাকে এখনও একটি ব্রেকপয়েন্ট দিয়ে আপনার প্রোগ্রাম বন্ধ করতে হবে ।

আপনি যদি আপনার প্রোগ্রাম লাইনটি লাইন দ্বারা চালাতে চান তবে আপনাকে পদ্ধতির শুরুতে ব্রেকপয়েন্টmain() রাখতে হবে এবং এটি ডিবাগ মোডে চালাতে হবে।

প্রোগ্রামটি বন্ধ হয়ে গেলে, আপনি এটিকে লাইন দ্বারা চালানো শুরু করতে পারেন। কী- এর এক প্রেসে F8এক লাইন কার্যকর হয়।

এটি বন্ধ হওয়ার পরে আমাদের প্রোগ্রামটি এরকম দেখায় এবং আমরা F8একবার কী টিপুন:

ডিবাগ মোডে প্রোগ্রামটি শুরু করুন।  ধাপে ধাপে মৃত্যুদন্ড

মূল পদ্ধতির প্রথম লাইনটি ইতিমধ্যেই কার্যকর করা হয়েছে, এবং বর্তমান লাইনটি দ্বিতীয় লাইন। আপনি স্ক্রিনশটের নীচে দেখতে পারেন যে শব্দটি Helloইতিমধ্যেই স্ক্রিনে প্রদর্শিত হয়েছে।


6. পদ্ধতিতে ধাপে ধাপে ধাপে ধাপে সঞ্চালন

আপনি যদি প্রোগ্রামে আপনার নিজস্ব পদ্ধতিগুলি লিখে থাকেন এবং আপনি ডিবাগ মোডে আপনার পদ্ধতিগুলির ভিতরে এক্সিকিউশন করতে চান, অর্থাৎ আপনি "পদ্ধতিতে পদক্ষেপ নিতে" চান তবে আপনাকে এর পরিবর্তে চাপতে F7হবে F8

ধরা যাক আপনি প্রোগ্রামের মধ্য দিয়ে যান এবং এখন 4 লাইনে থেমে গেছেন। আপনি যদি প্রেস করেন F8, তাহলে IDEA সহজভাবে চতুর্থ লাইনটি চালাবে এবং পঞ্চম লাইনে চলে যাবে।

পদ্ধতি 2-এ ধাপে ধাপে ধাপে ধাপে সম্পাদন

কিন্তু আপনি যদি চাপেন F7, তাহলে IDEA পদ্ধতিতে পদক্ষেপ নেবে main2():

ধাপে ধাপে সম্পাদন পদ্ধতি 3

এটা খুবই সাধারণ. আপনি যদি সত্যিই চিন্তা না করেন যে একটি পদ্ধতির ভিতরে কি ঘটবে বা কিভাবে, তাহলে আপনি টিপুন F8। যদি এটি গুরুত্বপূর্ণ হয়, তাহলে F7এর সমস্ত কোড টিপুন এবং ধাপ করুন।