ഡീബഗ്ഗിങ്ങ്

രൂപകല്പന ചെയ്തതിൽ നിന്നും വ്യത്യസ്തമായി ഒരു കമ്പ്യൂട്ടർ പ്രോഗ്രാം പ്രവർത്തിക്കുന്നതിനെ ബഗ്ഗ്‌ എന്ന് വിശേഷിപ്പിക്കുന്നു. കമ്പ്യൂട്ടർ പ്രോഗ്രാം അവലോകനം ചെയ്തു കുഴപ്പമെന്താണെന്നു കണ്ടുപിടിക്കുന്ന പ്രക്രിയയെയാണ് ഡീബഗ്ഗിങ്ങ്  എന്ന് പറയുന്നത്.https://www.techtarget.com/searchsoftwarequality/definition/debugging#:~:text=Debugging%2C%20in%20computer%20programming%20and,and%20make%20sure%20it%20works. 

പലപ്പോഴും പ്രോഗ്രാം ചെയ്യുന്നതിനെക്കാളും പ്രയാസം പിടിച്ച പണിയാണ് ഡീബഗ്ഗിങ്ങ്.  ഡീബഗ് ചെയ്യാനായി ധാരാളം സോഫ്ടുവെയറുകൾ ലഭ്യമാണ്. അവയെ ഡീബഗ്ഗറുകൾ  എന്ന് വിളിക്കുന്നു. ഒരു പ്രോഗ്രാമിന്റെ ഓട്ടം കോഡിൽ നിശ്ചിത സ്ഥലങ്ങളിൽ പിടിച്ചു നിർത്തി അതിന്റെ ഒഴുക്കും മെമ്മറിയും അവലോകനം ചെയ്യുകയാണ് മിക്കവാറും ഡീബഗ്ഗിങ്ങ് കൊണ്ടു ഉദേശിക്കുന്നത്. 

ഉന്നത നിലവാരത്തിലുള്ള പ്രോഗ്രാമിങ്ങ്‌ ഭാഷകളായ ജാവ, സി++, സി# എന്നിവയിൽ ഉണ്ടാക്കിയ പ്രോഗ്രാമുകൾ അവയുടെ ഉത്ഭവ കോഡ് ഉണ്ടെങ്കിൽ ഡീബഗ് ചെയ്യാൻ എളുപ്പമാണ്. പക്ഷേ ചില പ്രോഗ്രാമുകൾ അവയുടെ ഉത്‍ഭവ കോഡ് ഇല്ലാതെ തന്നെ ഡീബഗ് ചെയ്യേണ്ടി വന്നേക്കാം. ഇതു വളരെ പ്രയാസം പിടിച്ച ജോലിയാണ്. 

ഒരു ഡീബഗ്ഗറിന്റെ തനതായ സ്വഭാവം കാരണം പലരും ഡീബഗ്ഗറുകൾ ഉപയോഗിച്ചു പല  സോഫ്റ്റ്‌വെയറുകളും രൂപാന്തരപ്പെടുത്തി എടുക്കുന്നു. ഇതിനെ ക്രാക്കിംഗ് അഥവാ ഛിദ്രപ്രവൃത്തി എന്ന് വിശേഷിപ്പിക്കുന്നു.
പദോൽപ്പത്തി
"ബഗ്", "ഡീബഗ്ഗിംഗ്" എന്നീ പദങ്ങൾ 1940-കളിൽ അഡ്മിറൽ ഗ്രേസ് ഹോപ്പറിന്റെ പേരിലാണ് അറിയപ്പെടുന്നത്. അവർ ഹാർവാർഡ് യൂണിവേഴ്‌സിറ്റിയിലെ ഒരു മാർക്ക് II കമ്പ്യൂട്ടറിൽ ജോലി ചെയ്യുന്നതിനിടയിൽ, അവരുടെ കൂട്ടാളികൾ ഒരു റിലേയിൽ കുടുങ്ങിയ ഒരു ബഗ്ഗിനെ കണ്ടെത്തി, അതുവഴി പ്രവർത്തനത്തെ തടസ്സപ്പെടുത്തുന്നു, തുടർന്ന് അവർ സിസ്റ്റത്തെ "ഡീബഗ്ഗിംഗ്" ചെയ്യുകയാണെന്ന് അഭിപ്രായപ്പെട്ടു. എന്നിരുന്നാലും, "സാങ്കേതിക പിശക്" എന്ന അർത്ഥത്തിൽ "ബഗ്" എന്ന പദം കുറഞ്ഞത് 1878-മുതലും തോമസ് എഡിസണിന്റെ കാലത്തോളം പഴക്കമുള്ളതാണ് (പൂർണ്ണമായ ചർച്ചയ്ക്ക് സോഫ്റ്റ്വെയർ ബഗ് കാണുക).
 അറിയപ്പെടുന്ന ഡീബഗ്ഗറുകൾ 
 dbx 
 gdb
 Visual Studio Debugger
 SoftICE (നേരിട്ടു മെഷീൻ കോഡിനെ ഡീബഗ് ചെയ്യാൻ) 
 എക്ലിപ്സ്
 Win32DASM  (നേരിട്ടു മെഷീൻ കോഡിനെ ഡീബഗ് ചെയ്യാൻ)
 പുറത്തേക്കുള്ള കണ്ണികൾ 

 Algorithmic and Automatic Debugging 
 Crash dump analysis patterns

അവലംബം
വർഗ്ഗം:ഡീബഗ്ഗിങ്ങ്