လွယ်လွယ်ပြောရရင် debugging ဆိုတာ program မှာ မှားနေတဲ့ အပိုင်း (bug လို့ ခေါ်တယ်) ကို ရှာပြီး ပြင်တဲ့ အလုပ်ပါ။ Program ရေးတာ တစ်ဝက်၊ bug ရှာပြင်တာ တစ်ဝက် — လုပ်နေကျ အလုပ်ပဲ။
ဥပမာ အိမ်မှာ မီးပျက်သွားတယ်ဆိုပါတော့။ လျှပ်စစ်ဆရာ ရောက်လာရင် အရင်ဆုံး ဘယ်အခန်းက ပြဿနာလဲ လိုက်စစ်တယ်၊ ပြီးမှ ဘယ်ခလုတ်၊ ဘယ်ဝိုင်ယာ လဲဆိုတာ ရှာတယ်။ တစ်အိမ်လုံး ဖျက်ပြီး ပြန်ဆောက်တာ မဟုတ်ဘူး — ပြဿနာရှိတဲ့ နေရာကိုပဲ တိတိကျကျ ရှာတာ။
Debugging လည်း ဒီအတိုင်းပါပဲ။ Program တစ်ခုလုံး ပြန်ရေးတာ မဟုတ်ဘူး၊ မှားတဲ့ စာကြောင်းကိုပဲ ရှာတာ။
Python program မှာ အမှားပါရင် ဒီလို error စာသား ပေါ်လာတယ်။
price = 100
total = price + "50"
print(total)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
ကြောက်စရာ မရှိဘူး။ ဒီစာသားက သဲလွန်စပဲ။ ဖတ်နည်းက — အောက်ဆုံးစာကြောင်းကို အရင်ဖတ်။ အဲဒီမှာ အမှား အမျိုးအစား ရေးထားတယ်။ ဒီဥပမာမှာ “int နဲ့ str ကို + လို့ မရဘူး” လို့ ပြောနေတာ။ ဆိုလိုတာက ဂဏန်းနဲ့ စာသားကို ပေါင်းမိသွားလို့ပဲ။ ပြင်နည်းက ရှင်းတယ် —
total = price + 50 # quote ဖြုတ်လိုက် — ဂဏန်းချင်း ပေါင်းတာ
Bug ရှာတဲ့ လက်တွေ့နည်းလမ်းတွေ
print နဲ့ စစ် — သံသယရှိတဲ့ နေရာမှာ print() ထိုးပြီး တန်ဖိုး ဘာဖြစ်နေလဲ ကြည့်။ အရိုးရှင်းဆုံး၊ အထိရောက်ဆုံး နည်းပဲ။
Error စာသားကို အောက်ကနေ အပေါ် ဖတ် — အမှားအမျိုးအစားက အောက်ဆုံးမှာ၊ မှားတဲ့ စာကြောင်းနံပါတ်က အပေါ်နားမှာ။
အပိုင်းလိုက် ဖြတ် — ဘယ်အပိုင်း မှားမှန်း မသိရင် တစ်ဝက်ပိုင်း မှတ်ချက်ချ (comment) ပြီး စမ်း။ ပြဿနာ ဘယ်ဘက်ခြမ်းမှာ ရှိလဲ သိလာမယ်။
Error စာသားကို Google ခေါက် — ကိုယ့်အမှားကို ကမ္ဘာမှာ တစ်ယောက်ယောက် ကြုံဖူးပြီးသား။ Stack Overflow မှာ အဖြေ ရှိတတ်တယ်။
ခဏနား — နာရီဝက်လောက် ကြာနေတဲ့ bug က ခဏအနားယူပြီး ပြန်ကြည့်မှ ချက်ချင်း မြင်ရတတ်တယ်။
အမှားလုပ်မိတာ ရှက်စရာ မဟုတ်ဘူး — bug မရှိတဲ့ programmer ဆိုတာ မရှိဘူး။ အရေးကြီးတာက error စာသားကို ရန်သူလို မမြင်ဘဲ “သဲလွန်စ ပေးနေတာ” လို့ မြင်တတ်ဖို့ပဲ။ နောက်တစ်ခါ အနီရောင် စာသားတွေ တွေ့ရင် ပြုံးပြီး “လာစမ်း၊ ဘယ်နားမှားလဲ ကြည့်မယ်” လို့ ပြောနိုင်သွားမှာပါ။ 😄