ডিবাগিং কী: এমবেডড সিস্টেমগুলিতে প্রকার ও কৌশল

ডিবাগিং কী: এমবেডড সিস্টেমগুলিতে প্রকার ও কৌশল

তাদের জীবনের প্রতিটি প্রোগ্রামার একটি বিকাশ করার সময় তাদের কোডে বাগ বা ত্রুটিগুলি अनुभव করার সুযোগ পায় অপারেটিং সিস্টেম বা অ্যাপ্লিকেশন বা অন্য কোনও প্রোগ্রাম। এই জাতীয় ক্ষেত্রে, বিকাশকারীরা কোনও কোডে বাগগুলি খুঁজে পেতে কোড এবং প্রোগ্রামটিকে ত্রুটিমুক্ত করতে ডিবাগিং এবং সরঞ্জামগুলি ব্যবহার করে। বাগ প্রোগ্রামটি সনাক্ত করার এবং পুরো প্রোগ্রামটিতে এটি কোথায় ঘটেছে তা খুঁজে বের করার একটি সুযোগ রয়েছে। সফ্টওয়্যার প্রযুক্তিতে, কোনও নতুন প্রোগ্রামে বা কোনও অ্যাপ্লিকেশন প্রক্রিয়াতে বাগ খুঁজে পাওয়া এটি একটি গুরুত্বপূর্ণ প্রক্রিয়া। মারাত্মক এবং যৌক্তিক ত্রুটির মতো ত্রুটিগুলি পছন্দসই আউটপুট পেতে পাওয়া যায় এবং সরিয়ে নেওয়া যায়। উদাহরণস্বরূপ, জিডিবি, ভিজ্যুয়াল স্টুডিও এবং এলএলডিবি হ'ল বিভিন্ন অপারেটিং সিস্টেমের মানক ডিবাগার।



ডিবাগিং কি?

সংজ্ঞা: সংখ্যাটি সন্ধান এবং মুছে ফেলার জন্য গুরুত্বপূর্ণ কৌশল ত্রুটি বা কোনও প্রোগ্রামের বাগ বা ত্রুটিগুলি ডিবাগিং বলে। এটি সফ্টওয়্যার বিকাশের একটি মাল্টিস্টেপ প্রক্রিয়া। এর মধ্যে রয়েছে বাগটি সনাক্তকরণ, বাগের উত্স সন্ধান করা এবং প্রোগ্রামটিকে ত্রুটিমুক্ত করতে সমস্যা সংশোধন করা। সফ্টওয়্যার বিকাশে, বিকাশকারী প্রোগ্রামে কোড ত্রুটি সনাক্ত করতে এবং এই প্রক্রিয়াটি ব্যবহার করে এটি সরিয়ে ফেলতে পারে। সুতরাং, এটি সম্পূর্ণ সফ্টওয়্যার বিকাশের জীবনচক্রের ক্ষেত্রে গুরুত্বপূর্ণ ভূমিকা পালন করে।


ডিবাগিং

ডিবাগিং





ডিবাগিং এর প্রকার

কোড ত্রুটির ধরণের উপর নির্ভর করে বিভিন্ন ধরণের টুলসেট প্লাগইন রয়েছে। ডিবাগিংয়ের জন্য কী ঘটছে এবং কী ধরণের সরঞ্জাম ব্যবহৃত হয় তা বোঝা দরকার। টুলসেট প্লাগইনটির যে কোনও সাধারণ সমস্যা সমাধানের জন্য দুটি ধরণের ডিবাগিং রয়েছে এবং প্রযুক্তিগত তথ্য সরবরাহ করা হয়।

  • পিএইচপি-তে পিএইচপি কোডটি এই যে কোনও একটি সরঞ্জাম ব্যবহার করে একটি ডিবাগার ক্লায়েন্ট সংযুক্ত করতে ডিবাগ করা যেতে পারে। এক্সডিবাগ এবং জেনডব্যাগারের মতো ডিবাগ ইউটিলিটিগুলি পিএইচপিস্টর্মের সাথে কাজ করতে ব্যবহৃত হয়। কিন্ত পিএইচপি ডিবাগিংয়ের জন্য একটি ডিবাগিং সরঞ্জাম হিসাবে ব্যবহৃত হয়।

উদাহরণস্বরূপ, ওয়ার্ডপ্রেসে পিএইচপি ডিবাগিং সক্ষম করতে, wp-config.php ফাইলটি সম্পাদনা করুন এবং প্রয়োজনীয় কোড যুক্ত করুন। মূল অভিধান শব্দটিতে একটি ত্রুটি ফাইল (ত্রুটি_লগ.টিএসটিএসটি) তৈরি করা হয় যা সেভর ওয়েব ব্যবহার করে তৈরি এবং লিখিত হতে পারে। অন্যটি তৈরি এবং লেখার জন্য একটি এফটিপি প্রোগ্রাম ব্যবহার করুন। সুতরাং ফ্রন্ট-এন্ড এবং ব্যাক-এন্ডে ঘটে যাওয়া সমস্ত ত্রুটিগুলি ত্রুটি ফাইলটিতে লগইন করা যেতে পারে।



  • জাভাস্ক্রিপ্ট ডিবাগিং ব্রাউজারের ডিবাগার সরঞ্জাম এবং জাভাস্ক্রিপ্ট কনসোল ব্যবহার করে। যে কোনও জাভাস্ক্রিপ্ট ত্রুটি ঘটতে পারে এবং ওয়ার্ডপ্রেসে ক্রিয়াকলাপ সম্পাদন এবং পরিচালনা বন্ধ করে দেয়। জাভাস্ক্রিপ্ট কনসোলটি খুললে সমস্ত ত্রুটি বার্তাগুলি সাফ হয়ে যাবে। তবে, উপস্থিত কিছু কনসোল সতর্কতাগুলি একটি ত্রুটি বার্তা তৈরি করতে পারে যা ঠিক করা উচিত।

বিভিন্ন ধরণের আছে বিভিন্ন অপারেটিং সিস্টেমের জন্য ডিবাগিং। তারা হ'ল,

  • লিনাক্স এবং ইউনিক্স অপারেটিং সিস্টেমের জন্য, জিডিবি স্ট্যান্ডার্ড ডিবাগার হিসাবে ব্যবহৃত হয়।
  • উইন্ডোজ ওএসের জন্য ভিজ্যুয়াল স্টুডিও একটি শক্তিশালী সম্পাদক এবং ডিবাগার।
  • ম্যাক ওএসের জন্য, এলএলডিবি হ'ল একটি উচ্চ-স্তরের ডিবাগার।
  • সি / সি ++ ক্রিয়াকলাপগুলিতে মেমরি ত্রুটির জন্য ডিবাগিংয়ের উত্স হিসাবে ইন্টেল সমান্তরাল পরিদর্শক ব্যবহৃত হয়।

ডিবাগিং প্রক্রিয়া

কোনও অ্যাপ্লিকেশন বা সফ্টওয়্যারগুলিতে বাগ বা ত্রুটিগুলি খুঁজে বের করার এবং সেগুলি ঠিক করার প্রক্রিয়াটিকে ডিবাগিং বলা হয়। সফ্টওয়্যার প্রোগ্রাম বা পণ্যগুলি বাগ-মুক্ত করতে, বাজারে ছাড়ার আগে এই প্রক্রিয়াটি করা উচিত। এই প্রক্রিয়াটির সাথে জড়িত পদক্ষেপগুলি হ'ল,


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

ডিবাগিং সফটওয়্যার

এই সফ্টওয়্যারটি সফ্টওয়্যার বিকাশ প্রক্রিয়াতে গুরুত্বপূর্ণ ভূমিকা পালন করে। সফটওয়্যার বিকাশকারীরা বাগগুলি খুঁজে পেতে, বাগগুলি বিশ্লেষণ করতে এবং সফ্টওয়্যারটির গুণমান এবং কার্য সম্পাদন করতে এটি ব্যবহার করে। ম্যানুয়াল ডিবাগিং ব্যবহার করে বাগগুলি সমাধান করার প্রক্রিয়াটি খুব শক্ত এবং সময়সাপেক্ষ। আমাদের প্রোগ্রামটি, এটি কাজ করছে এবং ব্রেকপয়েন্ট তৈরি করে ত্রুটির কারণগুলি বুঝতে হবে।

কোডটি লেখার সাথে সাথে কোডটি প্রোগ্রামিংয়ের অন্যান্য স্তরের সাথে একত্রে একটি নতুন সফ্টওয়্যার পণ্য তৈরি করে। ইউনিট পরীক্ষা, কোড পর্যালোচনা এবং জুড়ি প্রোগ্রামিংয়ের মতো বেশ কয়েকটি কৌশল বৃহত্তর প্রোগ্রামটি ডিবাগ করার জন্য ব্যবহৃত হয় (কোডের কয়েক হাজার লাইন থাকে)। ইন্টিগ্রাল ডেভলপমেন্ট এনভায়রনমেন্ট (আইডিই) এর স্ট্যান্ডার্ড ডিবাগার সরঞ্জাম বা ডিবাগ মোড কোডটির লগিং এবং ত্রুটির বার্তা নির্ধারণে সহায়তা করে।

ডিবাগিং সফ্টওয়্যার জড়িত পদক্ষেপগুলি হ'ল,

  • বাগটি একটি সিস্টেমে চিহ্নিত করা হয় এবং ত্রুটি প্রতিবেদন তৈরি করা হয়। এই প্রতিবেদনটি বিকাশকারীকে ত্রুটি বিশ্লেষণ করতে এবং সমাধানগুলি সন্ধান করতে সহায়তা করে।
  • ডিবাগিং সরঞ্জামটি বাগের কারণ জানতে এবং ধাপে ধাপে কার্যকরকরণ প্রক্রিয়া দ্বারা এটি বিশ্লেষণ করতে ব্যবহৃত হয়।
  • ত্রুটি সনাক্ত করার পরে, সমস্যাগুলি সমাধানের জন্য আমাদের যথাযথ পরিবর্তনগুলি করা দরকার।
  • কোনও ত্রুটি না থেকেছে এবং ডিবাগিং সফ্টওয়্যার প্রক্রিয়া চলাকালীন সফ্টওয়্যারটিতে সমস্ত নতুন ত্রুটি পরীক্ষা করে তা নিশ্চিত করার জন্য সফ্টওয়্যারটি পুনরায় পরীক্ষা করা হয়।
  • এই সফ্টওয়্যার প্রক্রিয়াতে ব্যবহৃত একটি সিকোয়েন্স-ভিত্তিক পদ্ধতিটি বিকাশকারীদের জন্য বাগ সন্ধান এবং কোড সিকোয়েন্সগুলি ব্যবহার করে সেগুলি ঠিক করা সহজ এবং সহজতর করে তুলেছিল।

ডিবাগিং কৌশল

ডিবাগিং প্রক্রিয়াটি সহজে এবং দক্ষতার সাথে সম্পাদন করার জন্য কিছু কৌশল অনুসরণ করা প্রয়োজন। সর্বাধিক ব্যবহৃত ডিবাগিং কৌশলগুলি হ'ল,

  • নিষ্ঠুর শক্তি দ্বারা ডিবাগিং
  • আনয়ন কৌশল
  • ছাড়ের কৌশল
  • ব্যাকট্র্যাকিং কৌশল এবং
  • পরীক্ষা করে ডিবাগ করা হচ্ছে।

ব্রুট ফোর্স দ্বারা ডিবাগিং সর্বাধিক ব্যবহৃত কৌশল। এটি প্রোগ্রামের মেমরি ডাম্পগুলি গ্রহণের মাধ্যমে করা হয় যার মধ্যে মধ্যবর্তী মানগুলির সাথে প্রচুর পরিমাণে তথ্য থাকে এবং সেগুলি বিশ্লেষণ করা হয় তবে তথ্য বিশ্লেষণ করে বাগগুলি খুঁজে পেতে সময় এবং প্রচেষ্টা নষ্ট করে দেয়।

আনয়ন কৌশলটিতে প্রাসঙ্গিক ডেটার অবস্থান, ডেটা অর্গানাইজেশন, ডেভিজিং হাইপোথিসিস (ত্রুটির সম্ভাব্য কারণগুলি সরবরাহ করে) এবং প্রমাণিত অনুমান অন্তর্ভুক্ত includes

ছাড়ের কৌশলটিতে বাগ বা অনুমানের সম্ভাব্য কারণগুলির সনাক্তকরণ তথ্য ব্যবহার করে সম্ভাব্য কারণগুলি নির্মূল করা হাইপোথিসিসের পুনরায় সংশোধন (একের পর এক বিশ্লেষণ)

ব্যাকট্র্যাকিং কৌশলটি ছোট প্রোগ্রামগুলিতে ত্রুটি সনাক্ত করতে ব্যবহৃত হয়। কোনও ত্রুটি দেখা দিলে সমস্যা বা ত্রুটির কারণ অনুসন্ধান করার জন্য প্রোগ্রামগুলি মানগুলির মূল্যায়নের সময় এক ধাপ পিছনে চিহ্নিত হয় is

পরীক্ষার মাধ্যমে ডিবাগিং হ'ল ইনডাকশন দ্বারা ডিবাগিং এবং ছাড়ের কৌশল দ্বারা ডিবাগিংয়ের সাথে সংমিশ্রণ। ডিবাগিংয়ে ব্যবহৃত পরীক্ষার কেসগুলি পরীক্ষার প্রক্রিয়ায় ব্যবহৃত পরীক্ষার কেস থেকে পৃথক।

এম্বেডড সিস্টেমে ডিবাগিং কৌশলগুলি

এই কৌশলগুলি ত্রুটি গণনা হ্রাস করে এবং কোডের গুণমান এবং কার্যকারিতা বাড়িয়ে তোলে। এম্বেড থাকা সিস্টেমগুলির ডিবাগিং শারীরিক মেমরি ঠিকানা এবং ভার্চুয়াল মেমরির উপর নির্ভর করে।

এম্বেড থাকা সিস্টেমে 6 টি ডিবাগিং কৌশল রয়েছে।

  • জটিল ডেটা সরল করুন
  • ভাগ এবং বিজয়
  • প্রক্রিয়াটি ধীর করে দিন
  • একবারে মাত্র একটি পরিবর্তনশীল পরিবর্তন করুন
  • অফ লাইন মডেল তৈরি করা হচ্ছে
  • একটি পরিচিত-ভাল রাষ্ট্র থেকে শুরু করুন।

বিভিন্ন ক্ষেত্রে বিভিন্ন ডিবাগিং কৌশল ব্যবহার করা হয়। এক বা একাধিক পদ্ধতির সংমিশ্রণে ত্রুটি হতে পারে। এই প্রক্রিয়া অন্তর্ভুক্ত

  • ত্রুটি বা সমস্যা পুনরুত্পাদন করুন
  • ব্যবহারকারীর ইনপুট ব্যবহার করে বাগটি ব্যাখ্যা করুন
  • বাগ উপস্থিত হওয়ার সাথে সাথে সমস্ত পরিবর্তনশীল মান এবং প্রোগ্রামের স্থিতি পেতে চেষ্টা করুন
  • বাগটি বিশ্লেষণ করুন এবং বাগের কারণটি সন্ধান করুন
  • ত্রুটিটি ঠিক করুন এবং নতুন বাগগুলির সমস্ত কারণ পরীক্ষা করুন।

ডিবাগিং সরঞ্জাম

অন্যান্য সফ্টওয়্যার পরীক্ষা ও ডিবাগ করার জন্য ব্যবহৃত একটি সফ্টওয়্যার সরঞ্জাম বা প্রোগ্রামকে ডিবাগার বা একটি ডিবাগিং সরঞ্জাম বলে। এটি সফ্টওয়্যার বিকাশ প্রক্রিয়াটির বিভিন্ন পর্যায়ে কোডের ত্রুটিগুলি সনাক্ত করতে সহায়তা করে। এই সরঞ্জামগুলি পরীক্ষা চালানোর বিশ্লেষণ করে এবং কার্যকর করা হয় না এমন কোডগুলির লাইনগুলি খুঁজে বের করে। অন্যান্য ডিবাগিং সরঞ্জামগুলিতে সিমুলেটরগুলি ব্যবহারকারীকে অপারেটিং সিস্টেম বা অন্য কোনও কম্পিউটিং ডিভাইসের প্রদর্শন এবং আচরণ সম্পর্কে জানতে দেয়। বেশিরভাগ ওপেন-সোর্স সরঞ্জাম এবং স্ক্রিপ্টিং ভাষা কোনও আইডিই চালায় না এবং তাদের ম্যানুয়াল প্রক্রিয়াটি প্রয়োজন require

বেশিরভাগ ব্যবহৃত হয় ডিবাগিং সরঞ্জাম হ'ল জিডিবি, ডিডিডি এবং ইকলিপস।

  • জিডিবি সরঞ্জাম: ইউনিক্স প্রোগ্রামিংয়ে এই ধরণের সরঞ্জাম ব্যবহৃত হয়। সমস্ত লিনাক্স সিস্টেমে জিডিবি প্রি ইনস্টলড রয়েছে যদি তা না হয়, জিসিসি সংকলক প্যাকেজটি ডাউনলোড করা প্রয়োজন।
  • ডিডিডি সরঞ্জাম: ডিডিডি মানে ডেটা ডিসপ্লে ডিবাগার, যা ইউনিক্স সিস্টেমে গ্রাফিক ইউজার ইন্টারফেস (জিইউআই) চালাতে ব্যবহৃত হয়।
  • গ্রহন: একটি আইডিই সরঞ্জাম হ'ল সম্পাদক, বিল্ড সরঞ্জাম, ডিবাগার এবং অন্যান্য বিকাশ সরঞ্জামগুলির সংহতকরণ। আইডিই হ'ল সর্বাধিক জনপ্রিয় একটিগ্রাহী সরঞ্জাম। ডিডিডি, জিডিবি এবং অন্যান্য সরঞ্জামগুলির সাথে তুলনা করার সময় এটি আরও দক্ষতার সাথে কাজ করে।

ডিবাগিং সরঞ্জামগুলির তালিকা নীচে তালিকাভুক্ত করা হয়েছে।

  • ধনী ইন্টারনেট অ্যাপ্লিকেশনগুলি ডিবাগ করার জন্য অ্যাপপঞ্চের ডিবাগার ব্যবহার করা হয়
  • এ কিউটাইম ডিবাগার
  • সিএ / ইজেড টেস্ট একটি সিক্স ইন্টারেক্টিভ পরীক্ষা / ডিবাগ সফ্টওয়্যার প্যাকেজ
  • CharmDebug কবজ ++ এর জন্য একটি ডিবাগার
  • কোডভিউ ডিবাগার
  • ডিবিজি একজন পিএইচপি ডিবাগার এবং প্রোফাইলার
  • ডিবিএক্স ডিবাগার
  • বিতরণযোগ্য ডিবাগিং সরঞ্জাম (অ্যালিনিয়া ডিডিটি)
  • DDTLite - ভিজ্যুয়াল স্টুডিও 2008 এর জন্য DDTLite সারিবদ্ধ করুন
  • ডিইবিইউজি ডস এবং মাইক্রোসফ্ট উইন্ডোজের বিল্ট-ইন ডিবাগার
  • মাইএসকিউএলের জন্য ডিবাগার
  • অপেরা ড্রাগনফ্লাই
  • গতিশীল ডিবাগিং কৌশল (ডিডিটি)
  • এম্বেডেড সিস্টেম ডিবাগ প্লাগ-ইনটি গ্রহনের জন্য ব্যবহৃত হয়
  • ফিউশনডিবুগ
  • ডিবাগার ওপেনজিএল, ওপেনজিএল ইএস এবং ওপেনসিএল ডিবাগার এবং প্রোফাইলার। উইন্ডোজ, লিনাক্স, ম্যাক ওএস এক্স এবং আইফোনের জন্য
  • জিএনইউ ডিবাগার (জিডিবি), জিএনইউ বিন্টিলস
  • ইন্টেল ডিবাগার (আইডিবি)
  • সিস্টেমটি সার্কিট ডিবাগার হিসাবে ব্যবহার করা হয় এম্বেডড সিস্টেমস
  • ইন্টারেক্টিভ ডিসসেসেমব্লার (আইডিএ প্রো)
  • জাভা প্ল্যাটফর্ম ডিবাগার আর্কিটেকচার উত্স জাভা ডিবাগার
  • এলএলডিবি
  • ম্যাকসবুগ
  • আইবিএম যৌক্তিক বিশুদ্ধ
  • TRACE32 এম্বেডড সিস্টেমগুলির জন্য সার্কিট ডিবাগার
  • ভিবি ওয়াচ ডিবাগার - ভিজ্যুয়াল বেসিক 6.0 এর জন্য ডিবাগার
  • মাইক্রোসফ্ট ভিজ্যুয়াল স্টুডিও ডিবাগার
  • WinDbg
  • এক্সডিবাগ - পিএইচপি ডিবাগার এবং প্রোফাইলার

সুতরাং, এটি এম্বেড থাকা সিস্টেমগুলির ডিবাগিং প্রক্রিয়া, তার সরঞ্জাম এবং কৌশলগুলি সম্পর্কে সফ্টওয়্যার বিকাশ প্রক্রিয়া। এর উদ্দেশ্য হ'ল যে কোনও কোডে থাকা বাগগুলি সন্ধান এবং সরিয়ে দেওয়া। আপনার জন্য এখানে একটি প্রশ্ন, ডিবাগিংয়ের অসুবিধাগুলি কী কী?