কম্পিউটার টিউটোরিয়াল

LLDB বিমূর্ত না: পাওয়ারফুল ডিবাগিংয়ের জন্য বেগinners গাইড

কমান্ড লাইন ব্যবহার করে এবং বেসিক থেকে অ্যাডভান্সড স্ক্রিপ্টিং ল্যাঙ্গুয়েজের ওয়ার্কিং নলেজ داشتে, প্রফেশনাল ডেভেলপাররা অসাধারণ অ্যাপ এবং সফটওয়্যার তৈরি করতে পারেন। কিন্তু তাদের কাজ কোড লিখে শেষ হয় না। তাদের কোডের মধ্যে গভীরে যেতে হয় এরর এবং বাগ খুঁজে বের করতে যা ইউজার অভিজ্ঞতাকে প্রভাবিত করতে পারে। এখানেই LLDB কাজে আসে। এটি কী?

LLDB কী?

LLDB কমান্ড কী করে সেটি আলোচনা করার আগে, আসুন পুরো কোডিং যাত্রা আলোচনা করি, যাতে আমরা সবাই ডেভেলপারদের কাজ ভালোভাবে বুঝতে পারি।

পুরো কোডিং অভিজ্ঞতা একটি লম্বা যাত্রা। কোড লিখার পর, মজার অংশটি শুরু হয়। ডেভেলপাররা কোড রান ও কম্পাইল করবে। কম্পাইলিংয়ের সময়, কোড বিভিন্ন প্রোপার্টির সাথে মিলে এবং কিছু মেথডের মাধ্যমে গুজরে। রাস্তায়, বাগ ডিটেক্ট হয় এবং অ্যাপ লগ АНালাইজ হয়। সেখান থেকে, ডেভেলপাররা ডিবাগিং ফেজ শুরু করেন।

যদিও এটি খুব একসাইটিং শোনায়, ডিবাগিং আসলে khá চ্যালেঞ্জিং অংশ। ডেভেলপারদের কাছে পাজলের একটি ছোট টুকরো থাকে। তারা শুধু জানে এটি কীভাবে শুরু হওয়া উচিত এবং কীভাবে শেষ হওয়া উচিত। তাই বাগের কারণ খুঁজে বের করতে, তাদের পুরো কোডিং যাত্রায় নেওয়া প্রতিটি ধাপ রি-ট্রেস করতে হয়।

প্রো টিপ: আপনার ম্যাক স্ক্যান করুন পারফরম্যান্স ইস্যু, জাঙ্ক ফাইল, ক্ষতিকর অ্যাপস, এবং সিকিউরিটি হুমকির জন্য
যা সিস্টেম সমস্যা বা ধীর পারফরম্যান্সের কারণ হতে পারে।

ডেভেলপারদের বোঝা কমাতে, অ্যাপল একটি মূল্যবান রিসোর্স তৈরি করেছে: LLDB। Low Level DeBugger ठीक তার নাম অনুযায়ী কাজ করে। এটি একটি ডিবাগার যা অ্যাপ্লিকেশনগুলো ছোট কম্পোনেন্টে ভাঙে দেয়। অ্যাপল এটিকে Xcode IDE-র জন্য স্ট্যান্ডার্ড ডিবাগিং টুল হিসেবে সেট করেছে, ম্যাক এবং iOS প্রোগ্রামিংয়ের জন্য ব্যবহৃত একটি সফটওয়্যার টাইপ।

LLDB-এর ক্ষমতা এবং ফাংশনালিটির সুযোগ দেওয়ায়, এর ব্যবহার শুধু Xcode-এ সীমাবদ্ধ নয়। এটি অন্যান্য অ্যাপ বোঝা ও ভাঙতে ও ব্যবহার করা যায় এমনকি আপনার কাছে তাদের সম্পূর্ণ সোর্স কোড অ্যাক্সেস না থাকলেও।

LLDB কমান্ডগুলো কী?

LLDB ব্যবহার করে কোড ডিবাগ করতে, কিছু নির্দিষ্ট কমান্ড আছে যা ডেভেলপাররা ইনপুট দেয়। কিছু সাধারণভাবে ব্যবহৃত LLDB কমান্ড নিচে লিস্ট করা হলো:

  • apropos – এটি একটি নির্দিষ্ট শব্দ বা বিষয়ের সাথে সম্পর্কিত ডিবাগার কমান্ডের তালিকা দেখায়।
  • breakpoint – ব্রেকপয়েন্ট নিয়ে কাজ করার সময় এটি ব্যবহার করা হয়।
  • bugreport – ডোমেইন-স্পেসিফিক বাগ রিপোর্ট তৈরি করতে এটি কল করা হয়।
  • command – ডেভেলপাররা কastom LLDB কমান্ড মজাভ-এ ম্যানেজ করতে চায় তখন এটি কল করা হয়।
  • disassemble – কারেন্ট ফাংশনে নির্দিষ্ট ইনস্ট্রাকশন ডিসঅ্যাসেম্বল করার সময় এটি ব্যবহার করা হয়।
  • expression – কারেন্ট ফাংশনে একটি নির্দিষ্ট এক্সপ্রেশন ইভ্যালুয়েট করতে এটি কল করা হয়।
  • frame – কারেন্ট থ্রেডের স্ট্যাক ফ্রেম সিলেক্ট ও এক্সামিন করতে এই কমান্ডটি ব্যবহার করা হয়।
  • gdb-remote – GDB সার্ভারের মাধ্যমে একটি প্রসেস সংযোগ করতে এটি কল করা হয়। কোনো সার্ভার স্পেসিফাই না থাকলে, এটি localhost ব্যবহার করবে।
  • gui – কারসর-বেসড GUI-এ স্যুইচ করতে এটি কল করা হয়।
  • help – ডিবাগার কমান্ডের তালিকা দেখাতে বা একটি নির্দিষ্ট LLDB কমান্ড সম্পর্কে বিস্তারিত জানতে এটি কল করা হয়।
  • kdp-remote – রিমোট KDPP সার্ভারের মাধ্যমে একটি নির্দিষ্ট প্রসেস সংযোগ করতে এটি ব্যবহার করা হয়। কোনো UDP পোর্ট স্পেসিফাই না থাকলে, এটি অটোমেটিক্যালি পোর্ট ৪১১৩৯ ব্যবহার করবে।
  • log – এই কমান্ড LLDB ইন্টারনাল লগিং কন্ট্রোল করে।
  • platform – প্ল্যাটফর্ম তৈরি ও ম্যানেজ করতে এটি কল করা হয়।
  • plugin – LLDB প্লাগইন ম্যানেজ করতে এটি ব্যবহার করা হয়।
  • process – কারেন্ট প্ল্যাটফর্মের প্রসেসগুলোর সাথে ইন্টারঅ্যাকশন করার অনুমতি দিতে এই কমান্ডটি কল করা হয়।
  • quit – LLDB কুইট বা বন্ধ করতে এটি কল করা হয়।
  • register – কারেন্ট স্ট্যাক ফ্রেম এবং থ্রেডের জন্য রেজিস্টার অ্যাক্সেস করতে এটি ব্যবহার করা হয়।
  • script – স্ক্রিপ্ট ইন্টারপ্রেটার ইনভোক করতে এটি কল করা হয়।
  • settings – LLDB-এর সেটিংস ম্যানেজ করতে এই কমান্ডটি কল করা হয়।
  • source – সোর্স কোড এক্সামিন করতে এটি কল করা হয়।

LLDB-রিলেটেড এরর কীভাবে সমাধান করবেন

কখনও কখনও, LLDB ব্যবহার করার সময় এরর দেখা যায়। একটি বিখ্যাত এরর র‍্যান্ডমলি পপ আপ হয় "A program is trying to use LLDB command." মেসেজের সাথে।

আপনি যদি একজন নন-ডেভেলপার হন, এটি একটি গুলгаলানীয় ইস্যু। কীভাবে একটি LLDB এরর পপ আপ করলো যখন আপনি আসলে এটি ব্যবহার করেন না? যাইহোক, যেই কিছুর কারণে সমস্যা হচ্ছে, জানুন এটি সমাধান করা যায়। যদিও কিছু সমাধান টেকনিক্যাল নলেজ চায়, অন্যগুলো শুধু আপনাকে আপনার কম্পিউটার রিবুট করতে বলে।

এখানে কিছু সমাধান আমরা প্রস্তাব করছি:

১. আপনার ম্যাক রিবুট করুন।

ম্যাক স্লিপ, শাট ডাউন, বা হাইবারনেট করতে পারে। যদিও কিছু ব্যবহারকারী তাদের কম্পিউটার সারাদিন অন রেখে পছন্দ করেন, অন্যদের সেটাকে স্লিপ মোডে রাখেন সেট থেকে দূরে যাওয়ার সময়। যদিও যেকোনো অপশনে কিছু ভুল নেই, প্রায়শই একজন ব্যবহারকারীর পাওয়ার অভ্যাস সিস্টেম পারফরম্যান্সকে প্রভাবিত করতে পারে, বিশেষ করে যদি কম্পিউটার ব্যাটারিতে চলে।

ম্যাক এক্সপার্টদের মতে, কখনও কখনও আপনার কম্পিউটার শাট ডাউন করা পরামর্শদেয়। এটি ন केवल এরর প্রদর্শন প্রতিরোধ করবে, এটি নিশ্চিত করবে সব অ্যাপ এবং প্রোগ্রাম সঠিকভাবে কাজ করবে।

২. আপনার ম্যাক স্ক্যান করুন।

সম্ভবত আপনার ম্যাক প্রচুর জাঙ্ক ফাইল এবং ক্যাশ দিয়ে লোডেড আছে, তাই এরর মেসেজ শো করছে। এই জাঙ্ক ফাইলগুলো দূর করার সেরা উপায় হলো একটি বিশ্বস্ত ম্যাক ক্লিনিং টুল দিয়ে আপনার ম্যাক স্ক্যান করা। আপনি যদি ম্যানুয়ালি স্ক্যান পারেন, একটি নির্ভরযোগ্য ক্লিনিং টুল ব্যবহার করলে আপনার টাইম বাঁচবে এবং আপনি কোনো কিছু মিস করবেন না।

৩. SMC রিসেট করুন।

System Management Controller (SMC) আপনার ম্যাকে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। আপনার ডিভাইসের পাওয়ার ম্যানেজমেন্ট ას্পেক্টগুলো संभালার পাশাপাশি, এটি আপনার অ্যাপল হার্ডওয়্যারের অথেনটিসিটি চেক করে। তাই SMC-তে কিছুই ভুল থাকলে, এটি আপনার ম্যাকে চলমান এক্টিভ অ্যাপগুলোর প্রভাব ফেলতে পারে। Xcode IDE কোনো ব্যতিক্রম নয়।

আপনার ম্যাকের SMC রিসেট করতে, এই ধাপগুলো অনুসরণ করুন:

  1. Apple মেনুতে যান।
  2. Shut Down বেছে নিন।
  3. আপনার ম্যাক একবার শাট ডাউন হলে, CTRL + Option + SHIFT কীগুলো এবং Power বাটন একসাথে চাপে ধরে রাখুন।
  4. ১০ সেকেন্ড পর, সব কী এবং বাটন ছেড়ে দিন।
  5. পাওয়ার বাটন চাপে আপনার ম্যাক আবার অন করুন। আপনাকে এখন পর্যন্ত আপনার ম্যাকের SMC সফলভাবে রিসেট করা উচিত।

উপসংহার

LLDB-এর মতো ডিবাগার ডেভেলপারদের জন্য হ্যান্ডি টুলস কারণ এগুলো তাদের কোড ম্যানিপুলেট ও ইন্সপেক্ট করতে দেয় কন্ট্রোলের সাথে। তাই আপনি যদি একজন অভ্যর্থী ডেভেলপার হন, LLDB কোডগুলো সাথে নিজেকে পরিচিত করুন শুরু করুন। এর ইন্টারফেসের সাথে কমফরটেবল হন এবং এটিকে আপনার নতুন বেস্ট ফ্রেন্ড মনে করুন।

আপনি যদি মনে করেন আমরা LLDB সম্পর্কে জানার কিছু গুরুত্বপূর্ণ জিনিস মিস করেছি, নিচে শেয়ার করুন!

  1. Canva ব্যবহার: কাস্টম ইমেজ তৈরির গাইড

  2. macOS মেনুবার: начинаের জন্য সম্পূর্ণ গাইড

  3. সিরি সেট আপ এবং ব্যবহার করার বিগিনার্স গাইড

  4. Tinder-এর চূড়ান্ত গাইড: আপনার ডেটিং সাফল্য বাড়ান