Lua:
ডিবাগার ব্যবহার করা
কিভাবে:
Lua এ কোনো বিল্ট-ইন ডিবাগার নেই, তবে আপনি বাইরের ডিবাগার, যেমন জিরোব্রেন স্টুডিও ব্যবহার করতে পারেন। আপনি যেভাবে এটি দিয়ে কাজ করবেন তার একটা উদাহরণ এখানে:
-- এটি একটি সাধারণ Lua স্ক্রিপ্ট যাতে একটি ইচ্ছাকৃত ভুল আছে
local function add(a, b)
local result = a+ b -- ধরা যাক, আমরা 'b' ডিফাইন করতে ভুলে গেছি
return result
end
print(add(10))
আপনি যখন এটি একটি ডিবাগারে চালাবেন, তখন এটি যেখানে সমস্যা হচ্ছে সেখানে এক্সিকিউশন বন্ধ করে দেবে। আপনি এরকম কিছু দেখতে পাবেন:
lua: example.lua:3: attempt to perform arithmetic on a nil value (local 'b')
stack traceback:
example.lua:3: in function 'add'
example.lua:7: in main chunk
[C]: in ?
আপনি ব্রেকপয়েন্ট সেট করতে, আপনার কোডের মধ্য দিয়ে ধাপে ধাপে চলতে এবং ভেরিয়েবলের মান পর্যবেক্ষণ করতে পারেন যাতে আপনি বাগ খুঁজে বের করতে পারেন আপনার যুক্তিবোধ হারানো ছাড়া।
গভীরে ডুব:
দুঃখজনকভাবে, Lua-র সরলতা ডিবাগিং পর্যন্ত বিস্তৃত নয়। তবে চিন্তা নেই, Lua কমিউনিটি আপনার পাশে আছে। জিরোব্রেন স্টুডিও, LuaDec, এবং অন্যান্য টুলস ডিবাগিং সুবিধা প্রদান করে। ঐতিহাসিকভাবে, প্রথম প্রোগ্রামগুলো যখন সমস্যায় পড়ে, তখন থেকেই ডিবাগার ব্যবহৃত হচ্ছে, যা ডেভেলপারদের অন্ধভাবে নাড়াচাড়া করে না করে তাদের কোড ঠিক করার উপায় দিয়েছে।
Lua-র সাথে, আপনি প্রায়শই বাইরের ডিবাগারের উপর নির্ভর করেন অথবা আপনার ডেভেলপমেন্ট পরিবেশে তা অন্তর্ভুক্ত করেন। উদাহরণস্বরূপ, জিরোব্রেন স্টুডিও একটি IDE যা একটি Lua ডিবাগার পুরোপুরি ইন্টিগ্রেট করে। এটি আপনাকে কোডের মধ্য দিয়ে ধাপে ধাপে চলতে, ব্রেকপয়েন্ট সেট করতে, এবং ভেরিয়েবল পর্যবেক্ষণ করতে দেয়। বাস্তবায়নের দিক থেকে, ডিবাগার সাধারণত ব্রেকপয়েন্ট এবং অন্যান্য ডিবাগিং সুবিধাদি প্রবর্তনের জন্য হুক ব্যবহার করে।
বিকল্পগুলি? অবশ্যই। ভালো পুরানো print
স্টেটমেন্টগুলি, যা স্নেহপূর্ণভাবে “printf ডিবাগিং” নামে পরিচিত, কখনও কখনও বিলাসবহুল টুলগুলি ছাড়াই কাজ করে দেয়।
দেখুন আরো
আপনার ডিবাগিং যাত্রা চালিয়ে নিতে, দেখুন:
- জিরোব্রেন স্টুডিও: https://studio.zerobrane.com/
- Lua-ব্যবহারকারীদের উইকি ডিবাগিং Lua কোড সম্পর্কে: http://lua-users.org/wiki/DebuggingLuaCode
- Lua-র ম্যানুয়ালে
debug
লাইব্রেরি রেফারেন্স: https://www.lua.org/manual/5.4/manual.html#6.10