Debugging (ডিবাগিং)
প্রোগ্রামিংয়ের একটি বড় অংশ হলো কোডের এরর বা বাগ (Bug) খুঁজে বের করা এবং তা ফিক্স করা। print() দিয়ে ছোটখাটো ডিবাগিং করা গেলেও বড় প্রোজেক্টে প্রফেশনাল টুলস ব্যবহার করা জরুরি।
১. PDB (Python Debugger)
পাইথনের বিল্ট-ইন ডিবাগার হলো pdb। এটি আপনাকে কোড থামিয়ে প্রতিটি লাইনে কী ঘটছে তা দেখতে সাহায্য করে।
import pdb
def complex_calc(a, b):
pdb.set_trace() # এখানে কোড থেমে যাবে
result = a / b
return result
complex_calc(10, 2)প্রধান কমান্ডসমূহ:
n(next): পরের লাইনে যাওয়া।p variable: ভেরিয়েবলের ভ্যালু দেখা।c(continue): কোড শেষ পর্যন্ত রান করা।q(quit): ডিবাগার বন্ধ করা।
২. Breakpoint (Python 3.7+)
আধুনিক পাইথনে মডিউল ইম্পোর্ট না করেই সরাসরি breakpoint() ফাংশন ব্যবহার করা যায়।
def check_logic(x):
if x > 10:
breakpoint() # এখানে ডিবাগার ওপেন হবে
return x * 2৩. IDE Debuggers (VS Code / PyCharm)
সবচেয়ে সহজ উপায় হলো এডিটর ব্যবহার করা। আপনি লাইনের পাশে লাল ডট (Breakpoint) বসিয়ে মাউস ক্লিকেই ভেরিয়েবল চেক করতে পারেন এবং কোড পজ করতে পারেন।
৪. Logging as a Debugging Tool
প্রোডাকশন এনভায়রনমেন্টে যেখানে আপনি ম্যানুয়ালি কোড পজ করতে পারবেন না, সেখানে Logging ব্যবহার করাই একমাত্র উপায়। (বিস্তারিত লেভেল ৩: Logging)
৫. কেন শিখবেন?
- Save Time: ঘন্টার পর ঘন্টা
printকরার চেয়ে ডিবাগার ব্যবহার করলে বাগ ফিক্সিং ৫ গুণ দ্রুত হয়। - Variable Tracking: মেমরি বা অন্যান্য গ্লোবাল ভেরিয়েবলগুলো ঠিকঠাক চেঞ্জ হচ্ছে কি না তা রিয়েল-টাইমে দেখা যায়।
- Step-by-step: জটিল লজিকগুলো ধাপে ধাপে এনালাইসিস করা যায়।
TIP
বাগ খুঁজে পাওয়া মানে আপনি আপনার লজিক নিয়ে আবার ভাবার সুযোগ পাচ্ছেন। একজন ভালো ডিবাগার মানেই একজন ভালো ডেভেলপার।