প্রোগ্রামে বাগ খুঁজে বের করার জন্য ডিবাগার অপরিহার্য। লিনাক্সে অশেষ শক্তিশালী ডিবাগার রয়েছে যা আপনার অ্যাপ্লিকেশনের দুর্বল পয়েন্ট খুঁজে বের করতে সাহায্য করে। এই গাইডে কিছু এমন টুলের रूपরেখা দেওয়া হল। লিনাক্সে ডিবাগিং কীভাবে কাজ করে তা বোঝার জন্য এই টুলগুলো ট্রাই করুন।
১. জিএনইউ ডিবাগার (GDB)
জিএনইউ ডিবাগার বা জিডিবি আধুনিক প্রোগ্রামারদের জন্য উপলব্ধ সবচেয়ে শক্তিশালী লিনাক্স ডিবাগারগুলির একটি। এটি বিস্তৃত ফিচার সেট সহ একটি বালিশ টুল। জিডিবি সি, সি++, ফোরট্রান, এবং জাভা সহ অনেক জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজের বিল্ট-ইন সাপোর্ট দেয়। এটি এক্স৮৬, এক্স৮৬-৬৪, আর্ম, পাওয়ারপিসি, স্পার্ক, এবং এমআইপিএস সহ বিভিন্ন সিপিইউ আর্কিটেকচারেও কাজ করে।
২. এলএলডিবি (LLDB)
এলএলডিবি এলএলভিএম প্রজেক্টের অংশ। এর سپিরিয়ার স্পিড এবং ইফিশিয়েন্ট ওয়ার্কফ্লোর কারণে জনপ্রিয়তা পাচ্ছে। এটিই ম্যাকওএস-এর এক্সকোড এবং অ্যান্ড্রয়েড স্টুডিওর ডিফল্ট ডিবাগার হয়ে উঠেছে। এলএলডিবির প্রধান ফিচারগুলোর মধ্যে রয়েছে বিভিন্ন কম্পাইলার ইন্টিগ্রেশন সাপোর্ট, ল্যাঙ্গুয়েজ-ইনডিপেনডেন্ট টাইপ সিস্টেম, এবং রিমোট ডিবাগিং।
৩. নেমিভার (Nemiver)
নেমিভার সি++-তে লেখা একটি ফিচার-রিচ ডিবাগার। এটি গ্রাফিক্যাল সমাধান পছন্দ করতে वालাদের জন্য একটি אינ্টিউইটিভ জিইই পরিবেশ প্রদান করে। এটি জিনোম ডেস্কটপ এনভায়রনমেন্টের সাথে সহজে ইন্টিগ্রেট হয়। কিন্তু এটি একটি স্বতন্ত্র লিনাক্স ডিবাগার নয়। এটি জিডিবিকে ব্যাকএন্ড হিসেবে ব্যবহার করে এবং ডিবাগিং ওয়ার্কফ্লো ম্যানেজ করার জন্য জিইই ইন্টারফেস দেয়।
৪. ইন্টারেক্টিভ ডিসঅ্যাসেম্বলার (IDA)
ইন্টারেক্টিভ ডিসঅ্যাসেম্বলার বা আইডিএ বাইনারি ফাইল এবং প্রোগ্রাম বিশ্লেষণের জন্য একটি ठोस টুল। এটি পেশাদারদের লক্ষ্য করে একটি প্রপ্রায়েটারি সমাধান এবং অনেক উন্নত কৌশল অফার করে। আইডিএ প্রো একটি ইন্টারেক্টিভ, এক্সটেনসিবল, এবং হাইলি প্রোগ্রামেবল ডিবাগার প্রদান করে যা ফরেনসিক অ্যানালিসিস এবং অফ-দ-শেলভ্যালিডেশনের জন্য ব্যবহার করা যায়। সীমিত ফিচারের সাথে একটি ফ্রি ভার্সনও পাওয়া যায়।
৫. ডেলভ (Delve)
ডেলভ গুগলের گو প্রোগ্রামিং ল্যাঙ্গুয়েজের জন্য একটি সহজ কিন্তু ফিচার-রিচ লিনাক্স ডিবাগার। আপনি এটি ব্যবহার করে রানটাইমে আপনার প্রোগ্রামের সাথে ইন্টারঅ্যাক্ট করতে পারেন এবং গোরুটিন এবং স্ট্যাকের মতো জিনিসগুলি ম্যানিপুলেট করতে পারেন। ডিবাগারটি নিজে গো-তে লেখা হওয়ায় দ্রুত রানটাইম প্রদান করে।
৬. এক্সডিবাগ (Xdebug)
এক্সডিবাগ লিনাক্সের জন্য একটি শক্তিশালী পিএইচপি ডিবাগার। এটি একটি সিঙ্গল-স্টেপ ডিবাগার কম্পোনেন্ট অফার করে যা আইডিই-এর সাথে ব্যবহার করা যায়। এর অন্যান্য ফিচারগুলোর মধ্যে রয়েছে একটি বালিশ প্রোফাইলার, স্ট্যাক ট্রেসার, এবং পূর্ণ এক্সিকিউশন সেগমেন্ট ডাম্প করার ক্ষমতা। এক্সডিবাগ প্যাকেজ ম্যানেজারের মাধ্যমে আপনার লিনাক্স মেশিনে সহজে ইনস্টল করা যায়।
৭. কেডিবিজি (KDbg)
কেডিবিজি কেডিই ডেস্কটপ এনভায়রনমেন্টের জন্য একটি জিইই ডিবাগার। এটি সadece জিএনইউ ডিবাগারের একটি ইন্টারফেস। আপনি জিডিবির সকল ফিচারের পাশাপাশি একটি ইন্টিউইটিভ ইউজার ইন্টারফেস পাবেন। এইভাবে, কেডিবিজি প্রোগ্রাম ডিবাগিং শুরুর ব্যবহারকারীদের জন্য একটি ভালো পছন্দ হতে পারে।
৮. ভ্যালগ্রিন্ড (Valgrind)
ভ্যালগ্রিন্ড একটি রক-স olid মেমরি ডিবাগার যা সফটওয়্যার অ্যানালিসিসের জন্য অনেক অতিরিক্ত টুল অফার করে। এটি লিনাক্স এবং ম্যাক সহ সব বড় প্ল্যাটফর্মে চলে। 게다가, আপনি এটিকে একটি ফ্রেমওয়ার্ক হিসেবে ব্যবহার করে প্রোফাইলার মতো ডাইনামিক অ্যানালিসিস টুল তৈরি করতে পারেন। সমৃद्ध ফিচার সেট ও ওপেন-সোর্স লাইসেন্সিং-এর কারণে ভ্যালগ্রিন্ড পেশাদারদের জন্য একটি চমৎকার পছন্দ।
৯. ব্যাশ ডিবাগার (BASH Debugger)
ব্যাশ ডিবাগার বা বাশডিবি একটি সহজ কিন্তু উপকারী লিনাক্স ডিবাগার। আপনি এটি ব্যবহার করে এক্সিকিউশন চলাকালীন আপনার ব্যাশ স্ক্রিপ্ট বিশ্লেষণ করতে পারেন। কাজটি জিএনইউ ডিবাগারের মতো এবং ব্যবহারকারীদের স্ট্যাকλεύজ করতে দেয়। এটি সেই লিনাক্স অ্যাডমিনদের জন্য একটি দারুণ টুল যারা বারবার তাদের সিস্টেমে ব্যাশ স্ক্রিপ্ট ব্যবহার করেন।
১০. স্ট্রেস (strace)
স্ট্রেস ইউনিক্সের জন্য একটি ইউজারস্পেস ইউটিলিটি যা ব্যবহারকারীদের টার্মিনাল থেকে সরাসরি সিস্টেম কল এবং সিগন্যাল ট্রেস করতে দেয়। প্রোগ্রামাররা এটি ব্যবহার করে স্ট্যাক ট্রেস ডাম্প করতে, সিস্টেম কল ফিল্টার করতে, রিটার্ন কোড মডিফাই করতে, ফাইল ডেসক্রিপ্টর এক্সট্র্যাক্ট করতে, এবং আরও অনেক কিছু করতে পারেন।
উপসংহার
শক্তিশালী লিনাক্স ডিবাগারlerinin বিস্তৃত রেঞ্জ প্রোগ্রামিংকে অনেক সহজ করে তোলে। জিডিবি এবং এলএলডিবি যেকোনো পেশাদারের জন্য আবশ্যক। অন্যদিকে, ডেলভ এবং এক্সডিবাগের মতো স্পেশালাইজড ডিবাগার নির্দিষ্ট প্রজেক্ট এবং ইকোসিস্টেমকে টার্গেট করে।
এখন যেহেতু আপনার কাছে সেরা লিনাক্স ডিবাগারগুলো আছে, ডেভেলপার ও প্রোগ্রামারদের জন্য সেরা লিনাক্স ডিস্ট্রোর খোঁজা শুরু করুন।