ডিবাগিং কৌশলসমূহ I প্রোগ্রামিং ল্যাংগুয়েজ ৩

আমাদের আজকের আলোচনার বিষয় ডিবাগিং কৌশলসমূহ – যা অধ্যায় ৯ ”ভিজ্যুয়াল বেসিক ডেবাগিং” এর অন্তর্ভুক্ত। বর্তমান বিশ্বের সর্বাধুনিক প্রযুক্তি হচ্ছে কম্পিউটার প্রযুক্তি। কারণ শিল্পকারখানা, গবেষণা, শিক্ষাপ্রতিষ্ঠান, চিকিৎসাশাস্ত্র ইত্যাদি সকল ক্ষেত্রই আজ কম্পিউটার অটোমেটেড। কম্পিউটার অটোমেশনের সঙ্গে কম্পিউটার প্রোগ্রামিং ও প্রোগ্রামিং লেখার জন্য প্রোগ্রামিং ল্যাংগুয়েজ অত্যন্ত গুরুত্বপূর্ণ।

তাই শিক্ষা ও গবেষণার জন্য প্রোগ্রামিং ল্যাংগুয়েজ অধ্যয়ন একটি অতি আবশ্যকীয় বিষয়। বিষয়টি অত্যন্ত গুরুত্বসহ বিবেচনা করে বর্তমানে কারিগরি শিক্ষার সকল টেকনোলজিতে কম্পিউটার প্রোগ্রামিং ল্যাংগুয়েজ বিষয়কে আবশ্যিক করা হয়েছে ।

 

ডিবাগিং কৌশলসমূহ I প্রোগ্রামিং ল্যাংগুয়েজ ৩

 

ডিবাগিং কৌশলসমূহ

প্রোগ্রাম বা অ্যাপ্লিকেশনে সংঘটিত ত্রুটিসমূহ (Error) দূরীকরণের প্রক্রিয়াকে ডিবাগিং (Debugging) বলে। Visual Basic নিজে ত্রুটি সনাক্ত (diagnose) ও নির্ধারণ (fix) করে দেয়না। বরং প্রোগ্রামে এমন ধরনের Tools provide করে যাতে প্রোগ্রামের বিভিন্ন Procedure সমূহের পরস্পরের মধ্যে কিভাবে Program Flow হচ্ছে এবং কিভাবে Variable Property Setting Statements সমূহ প্রোগ্রামে execute হচ্ছে তা ব্যবহারকারীকে বিশ্লেষন করতে সহায়তা করে।

ভিজ্যুয়াল বেসিকে Debugging এর ক্ষেত্রে যে সকল Tools সমূহ ব্যবহৃত হয় সে সকল Tools সমূহের মধ্যে Break Points, Break Expressions, Watch Expressions, Stepping Through Code One Procedure at a Time এবং Displaying the Variables & Properties ইত্যাদি অন্যতম। তাছাড়া Debugging এ সাহায্য করার জন্য Visual Basic এ বেশ কিছু বিশেষ feature ও বিদ্যমান।

তবে উল্লেখিত Dibugging Tools এর সহায়তা ছাড়াও Visual Basic Version 1.0 থেকে এখনো পর্যন্ত ভিজ্যুয়াল বেসিতে দু’টি বহুল ব্যবহৃত Debugging Technique ব্যবহৃত হচ্ছে। যথাঃ

  • Using Msg Box Statement Technique ও
  • Using Debug Print Technique.

নিম্নে এ সকল ডিবাগিং কৌশল (Debugging Techniques) আলোচনা করা হল।

Using Msg Box Statements: ডিবাগিং কৌশলের প্রথম কৌশলটিই হচ্ছে অ্যাপ্লিকেশনে Msg Box Statement Insert করা যার মাধ্যমে প্রসিডিউরে ব্যবহৃত Variable, Procedure names ইত্যাদির ভ্যালু (Value) display হয়ে থাকে। নিচের চিত্রে Msg Box Statement Statement কর্তৃক উৎপন্ন Msg Box দেখানো হল।

চিত্রটি লক্ষ্য করলে দেখা যাবে একটি Massage Box এর উপস্থিতি যা Code Window তে ব্যবহৃত MsgBox Statement কারনে উদ্ভুত। Screen এ যখন এই Message Box টি বিদ্যমান তখন Program Execution Halt হয়ে যায় আবার যখন Message Box টি Screen থেকে Dissmiss তখন পুনরায় Program Executing শুরু হয়।

 

সুবিধা

Msg Box statement ব্যবহারের সুবিধা সমূহ একদম স্পষ্ট। কারন এটি ব্যবহার করা সহজ এবং কার্যতঃ যে কোন Type data output করার ক্ষেত্রে Mesage Box কে ব্যবহার করা যায়। একটি Simple Statement ও কেবলমাত্র একটি Line code execution এর ক্ষেত্রে এটি ব্যবহৃত হয়। Msg Box কে statement হিসাবে ব্যবহার করার পাশাপাশি Function হিসাবে ও হ্যাবহার করা যায়।

MsgBox এর সাথে যখন Opening Parentheses ব্যবহার করা হয় তখন এটি Function হিসাবে কাজ করে আর যখন Parentheses ব্যবহার করা হয় না তখন এটি Simple VBA Statement হিসাবে কাজ করে।

অসুবিধা

Msg Box Statement এর সুবিধার পাশাপাশি এতে কিছু অসুবিধা ও বিদ্যমান। যেমনঃ Msg Box টি সাধারনত Modal হয় অর্থাৎ এ প্রক্রিয়ায় অ্যাপ্লিকেশনের নিম্নস্থ Code সমূহ দেখা যায়না অথবা Code Window কিংবা Debug Window তে flip করে Variable মান সমূহকে পরীক্ষা নিরীক্ষা বা Change করা যায় না।

তবে MsgBox এ সমস্ত অসুবিধা দূর করে সংস্কার করার জন্য এতে বিভিন্ন ধরনের Compiler Directives ব্যবহার করা। হয়। যেমনঃ # Const, # if, # End if, # else, ইত্যাদি। Using Debug.Print Statement : এ ধরনের Debugging কৌশলটি মূলত Immidiate Window তে Output পাঠানোর ক্ষেত্রে ব্যবহৃত হয়। Print হচ্ছে Debug Object এ ব্যবহৃত Method সমূহের একটি।

Debug.Print Statement টি # if ও # End if Compiler Directives এর মধ্যে আবদ্ধ। Debug. Print এর Output সরাসরি Immidiate Window তে চলে যায়। End User গন Immidiate Window কে দেখতে পাননা। তাই Immidiate Window’র ফলাফল দেখার জন্য Immidiate Window টিকে উপরে নিয়ে আসতে হবে।

 

ডিবাগিং কৌশলসমূহ I প্রোগ্রামিং ল্যাংগুয়েজ ৩

 

উদাহরণঃ নিম্নোক্ত প্রোগ্রামটি ইমিডিয়েট উইন্ডোতে দুটি সংখ্যার যোগফল দেখাবে।

Private Sub Command1_Click()

Dim a, b As Integer

a=5

b = 10

Sum = result(a, b)

Debug.Print Sum

End Sub

Function result(ByVal number1 As Integer, byvalnumber2 As Integer).

result number1 + number2

End Function

Leave a Comment