কার্যকর ডিবাগিং এবং কোড গুণমান সফ্টওয়্যার উন্নয়নে অবিচ্ছেদ্য ধারণা। ভিজ্যুয়াল স্টুডিও (ভিএস) কোডের ডিবাগিং কার্যকারিতা মূলত launch.json ফাইল দ্বারা নিয়ন্ত্রিত হয়। এই ফাইলটি বিকাশকারীদের তাদের দৃষ্টি অনুযায়ী তাদের ডিবাগিং সেটিংস কনফিগার এবং পরিচালনা করতে দেয়।
এই নিবন্ধটি সর্বোত্তম ডিবাগিংয়ের জন্য launch.json ফাইল খোলার এবং পরিচালনার মাধ্যমে আপনাকে গাইড করবে।
ভিজ্যুয়াল স্টুডিও কোডে launch.json খোলা হচ্ছে
VS কোড ডিবাগিং সেটিংস কনফিগার এবং পরিচালনা করতে, আপনার launch.json ফাইলে অ্যাক্সেসের প্রয়োজন হবে। এই ফাইলটি ডিবাগ কাস্টমাইজেশনে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে।
- ভিজ্যুয়াল স্টুডিও কোড খুলুন।
- কমান্ড প্যালেট খুলতে Ctrl + Shift + P টিপুন।
- কমান্ড প্যালেটে 'Open launch.json' টাইপ করুন এবং 'এন্টার' টিপুন। এটি আপনার জন্য launch.json ফাইলটি খুলবে।
- যদি launch.json ফাইলটি ওপেন না হয়, তাহলে যাচাই করুন যে '.vscode' ফোল্ডারটি আপনার প্রোজেক্টের রুট ফোল্ডারে বিদ্যমান।
- এটি বিদ্যমান না থাকলে, আপনার ব্যবহারকারী ফোল্ডারের মধ্যে '.vscode' নামে একটি নতুন ফোল্ডার তৈরি করুন৷
- একটি নতুন 'launch.json' ফাইল তৈরি করুন এবং এই ফোল্ডারে রাখুন।
launch.json ফাইলটি সক্রিয় করার পরে কনফিগার করার জন্য প্রস্তুত হবে।
Launch.json স্ট্রাকচার ওভারভিউ
launch.json 'সংস্করণ' এবং 'কনফিগারেশন' বিভাগগুলি প্রদর্শন করে। 'কনফিগারেশন' বিভাগটি বিভিন্ন ডিবাগিং বিকল্প ধারণকারী একটি অ্যারে, যা আপনি আপনার ডিবাগিং স্কিম কনফিগার করতে ব্যবহার করবেন।
'কনফিগারেশন' অ্যারের প্রতিটি বস্তু একটি ডিবাগিং দৃশ্যের প্রতিনিধিত্ব করে। এই অবজেক্টগুলির বৈশিষ্ট্য রয়েছে যা ডিবাগিং পরিবেশকে সংজ্ঞায়িত করে, যেমন ভাষা, প্রোগ্রাম এবং ডিবাগার সেটিংস।
আপনি launch.json কনফিগারেশনের সম্মুখীন হবেন এমন কিছু সাধারণ বৈশিষ্ট্যের মধ্যে রয়েছে:
- 'নাম' - ড্রপডাউন মেনুতে এটি সনাক্ত করার জন্য কনফিগারেশনের জন্য একটি পাঠক-বান্ধব নাম।
- 'টাইপ' - ডিবাগারের ধরন নির্দিষ্ট করে (যেমন 'নোড,' 'পাইথন,' বা 'cppvsdbg')।
- 'অনুরোধ' - অনুরোধের ধরন নির্ধারণ করে, হয় 'লঞ্চ' (একটি নতুন উদাহরণ শুরু করতে) বা 'সংযুক্ত করুন' (একটি বিদ্যমান প্রক্রিয়াতে ডিবাগার সংযুক্ত করতে)।
- 'প্রোগ্রাম' - আপনি যে ফাইলটি ডিবাগ করতে চান তার জন্য ফাইল পাথ।
- 'args' - ডিবাগিংয়ের সময় প্রোগ্রামে পাস করার জন্য কমান্ড-লাইন আর্গুমেন্টের একটি অ্যারে।
- 'preLaunchTask' - ডিবাগার শুরু করার আগে চালানোর জন্য একটি টাস্ক।
launch.json ফাইলের কাঠামো বোঝার মাধ্যমে আপনি জানতে পারবেন কোন বিকল্পগুলি পরিবর্তন করতে হবে এবং আপনার ডিবাগিং পরিবেশ কাস্টমাইজ করার সময় কোনটি একা ছেড়ে দিতে হবে৷
বিভিন্ন ভাষার জন্য লঞ্চ সেটিংস কনফিগার করা হচ্ছে
লঞ্চ সেটিংস কনফিগার করার পদক্ষেপগুলি ভাষার উপর নির্ভর করে সামান্য পরিবর্তিত হতে পারে। এখানে বেশ কয়েকটি জনপ্রিয় ভাষার জন্য ধাপ রয়েছে।
জাভাস্ক্রিপ্ট এবং টাইপস্ক্রিপ্ট
- একটি নতুন launch.json ফাইল তৈরি করুন এবং জাভাস্ক্রিপ্টের জন্য 'নোড' বা টাইপস্ক্রিপ্টের জন্য 'pwa-নোড' হিসাবে 'টাইপ' প্রপার্টি কনফিগার করুন।
- 'অনুরোধ' বৈশিষ্ট্য 'লঞ্চ' বা 'সংযুক্ত' তে সেট করুন।
- আপনার 'প্রোগ্রাম' বৈশিষ্ট্য ব্যবহার করে এন্ট্রি পয়েন্ট ফাইলটি নির্দিষ্ট করা উচিত।
পাইথন
- ভিজ্যুয়াল স্টুডিও কোডের জন্য পাইথন ইন্টারপ্রেটার এবং এক্সটেনশন ইনস্টল করুন।
- একটি নতুন launch.json ফাইলে 'টাইপ' বৈশিষ্ট্যটিকে 'পাইথন' এ সেট করুন।
- 'অনুরোধ' বৈশিষ্ট্যটিকে 'লঞ্চ' বা 'সংযুক্ত করুন' হিসাবে কনফিগার করুন।
- 'প্রোগ্রাম' বৈশিষ্ট্য ব্যবহার করে চালানোর জন্য পাইথন ফাইলটি নির্দিষ্ট করুন।
- আপনাকে অতিরিক্তভাবে 'pythonPath' বৈশিষ্ট্যটি Python ইন্টারপ্রেটারের পাথে সেট করতে হবে যদি এটি ডিফল্ট অবস্থানে না থাকে।
C# এবং .NET কোর
- ভিজ্যুয়াল স্টুডিও কোডের জন্য C# এক্সটেনশন ইনস্টল করুন।
- নতুন launch.json ফাইলে, .NET ফ্রেমওয়ার্কের জন্য .NET Core-এর জন্য “coreclr” বা “clr”-এ “টাইপ” প্রপার্টি সেট করুন।
- 'অনুরোধ' বৈশিষ্ট্যটিকে 'লঞ্চ' বা 'সংযুক্ত করুন' হিসাবে কনফিগার করুন।
- 'প্রোগ্রাম' বৈশিষ্ট্য ব্যবহার করে এন্ট্রি পয়েন্ট ফাইলটি নির্দিষ্ট করুন।
- প্রয়োজনে বর্তমান প্রকল্পের কার্যকারী ডিরেক্টরিতে 'cwd' বৈশিষ্ট্য সেট করুন।
জাভা
- জাভা এক্সটেনশন প্যাক ইনস্টল করুন।
- একটি নতুন launch.json ফাইল তৈরি করুন এবং 'type' প্রপার্টি 'java' এ সেট করুন।
- 'অনুরোধ' বৈশিষ্ট্যটিকে 'লঞ্চ' বা 'সংযুক্ত করুন' হিসাবে কনফিগার করুন।
- 'mainClass' বৈশিষ্ট্য সহ প্রধান শ্রেণী নির্দিষ্ট করুন।
- আপনার জাভা প্রজেক্টের নামের সাথে 'projectName' প্রপার্টি সেট করুন।
- আপনার জাভা বিকাশের সময় আপনি যে জাভা লাইব্রেরিগুলি ব্যবহার করবেন তা অন্তর্ভুক্ত করতে 'ক্লাসপাথ' বৈশিষ্ট্যটি কনফিগার করুন।
ডিবাগিং কনফিগারেশন রেসিপি
নিম্নলিখিত বিভাগটি বিভিন্ন ডিবাগিং কনফিগারেশন রেসিপি কভার করে।
একটি চলমান প্রক্রিয়ার সাথে ডিবাগার সংযুক্ত করা হচ্ছে
একটি চলমান প্রক্রিয়াতে ডিবাগার সংযুক্ত করতে:
- 'অনুরোধ' বৈশিষ্ট্যটি 'সংযুক্ত করুন' এ সেট করুন।
- ডিবাগ করার প্রক্রিয়া খুঁজে পেতে প্রক্রিয়া আইডি বা ফিল্টার চয়ন করুন।
দূরবর্তী অ্যাপ্লিকেশন ডিবাগিং
দূরবর্তী অ্যাপ্লিকেশন ডিবাগিং জন্য:
- একটি 'রিমোট' টাইপ ব্যবহার করুন।
- সংযোগ স্থাপনের জন্য হোস্টের ঠিকানা, পোর্ট এবং সম্ভবত প্রমাণীকরণ তথ্য প্রদান করুন।
ডিবাগিং ইউনিট টেস্ট এবং টেস্ট স্যুট
ইউনিট পরীক্ষা এবং পরীক্ষা স্যুট ডিবাগ করার সময়:
- ইউনিট পরীক্ষা এবং পরীক্ষা স্যুট ডিবাগ করার জন্য পরীক্ষা কাঠামো এবং সেটিংস অন্তর্ভুক্ত একটি কনফিগারেশন ব্যবহার করুন।
- নির্দিষ্ট পরীক্ষা টার্গেট করার জন্য 'প্রোগ্রাম' বা 'আর্গস' বৈশিষ্ট্যে টেস্ট স্যুট বা স্বতন্ত্র পরীক্ষার ফাইলগুলি সংজ্ঞায়িত করুন।
এনভায়রনমেন্ট ভেরিয়েবল পাস করা
launch.json-এর “env” প্রপার্টি ডিবাগ করার সময় আপনার অ্যাপ্লিকেশনে এনভায়রনমেন্ট ভেরিয়েবল পাস করতে পারে। এই বৈশিষ্ট্যটি এমন একটি বস্তু যাতে আপনি যে পরিবেশের ভেরিয়েবল সেট করতে চান তার জন্য কী-মান জোড়া রয়েছে।
উন্নত ডিবাগিং
আসুন কিছু উন্নত ডিবাগিং কৌশল অন্বেষণ করি যারা ডিবাগ ফাইলগুলি থেকে একটু বেশি পাওয়ার আউট করতে চান তাদের জন্য।
শর্তসাপেক্ষ ব্রেকপয়েন্ট এবং লগপয়েন্ট
শর্তসাপেক্ষ ব্রেকপয়েন্ট এবং লগপয়েন্ট শুধুমাত্র নির্দিষ্ট অবস্থার অধীনে বার্তাগুলিকে বিরতি বা লগিং করে ডিবাগিং উন্নত করে। তাদের ব্যবহার করতে:
- লাইন নম্বরে ডান-ক্লিক করুন যেখানে আপনি একটি ব্রেকপয়েন্ট বা লগপয়েন্ট সেট করতে চান।
- 'কন্ডিশনাল ব্রেকপয়েন্ট যোগ করুন' বা 'লগপয়েন্ট যোগ করুন' নির্বাচন করুন।
- ক্রিয়াটি ট্রিগার করতে শর্ত বা বার্তা লিখুন।
উৎস মানচিত্র
উৎস মানচিত্র আপনাকে কোড ডিবাগ করতে সক্ষম করে যা রূপান্তরিত বা ছোট করা হয়েছে।
- সোর্স ম্যাপ ব্যবহার করতে আপনার launch.json কনফিগারেশনে “sourceMap” প্রপার্টিটিকে “true” তে সেট করুন।
- নিশ্চিত করুন যে আপনার বিল্ড প্রক্রিয়া উৎস মানচিত্র এবং রূপান্তরিত কোড তৈরি করে।
এক্সটার্নাল ডিবাগার একীভূত করা
আপনি যদি চান তাহলে আপনি VS কোডে বাহ্যিক ডিবাগার এবং টুলস, যেমন gdb বা lldb-কে একীভূত করতে পারেন।
- পছন্দের ডিবাগার এক্সটেনশন ইনস্টল করুন।
- launch.json ফাইলে ডিবাগারের সেটিংস কনফিগার করুন।
ডিবাগিং মাল্টি-থ্রেডেড অ্যাপ্লিকেশন
মাল্টি-থ্রেডেড অ্যাপ্লিকেশনগুলি ডিবাগ করার সময়, আপনি পৃথক থ্রেডগুলির সম্পাদন নিয়ন্ত্রণ করতে পারেন।
- ডিবাগিং সেশনের সময় থ্রেডগুলি পরিচালনা করতে ডিবাগ সাইডবারে 'থ্রেড' ভিউ ব্যবহার করুন।
- আপনি আলাদাভাবে প্রতিটি থ্রেডের জন্য কোড এক্সিকিউশনের মাধ্যমে বিরতি, পুনরায় শুরু করতে বা ধাপ করতে পারেন।
মাল্টি-টার্গেট ডিবাগিং
যৌগিক লঞ্চ কনফিগারেশনগুলি একই সাথে একাধিক লক্ষ্যগুলির ডিবাগিং সক্ষম করে৷ আপনি যদি এই বৈশিষ্ট্যটির সুবিধা নিতে চান তবে একসাথে গ্রুপে কনফিগারেশন নাম সহ একটি 'যৌগ' অ্যারে যুক্ত করুন৷ ডিবাগ ড্রপডাউন মেনু থেকে যৌগিক কনফিগারেশন নামটি বেছে নিয়ে সেগুলি চালান।
মাইক্রোসার্ভিস এবং সার্ভারহীন অ্যাপ্লিকেশন ডিবাগ করার জন্য বিভিন্ন পরিষেবা, ফাংশন, বা শেষ পয়েন্টগুলি লক্ষ্য করে একাধিক লঞ্চ কনফিগারেশন কনফিগার করুন। এই লক্ষ্যগুলি একসাথে চালানোর জন্য যৌগিক লঞ্চ কনফিগারেশন ব্যবহার করুন।
মাল্টি-রুট ওয়ার্কস্পেসের জন্য, প্রতিটি ফোল্ডারের জন্য পৃথক launch.json ফাইল তৈরি করুন। প্রতিটি রুট ফোল্ডারের জন্য পৃথকভাবে লঞ্চ সেটিংস কনফিগার করুন আলাদাভাবে বা একই সাথে যৌগ ব্যবহার করে প্রকল্পগুলি ডিবাগ করতে।
সাধারণ launch.json সমস্যা সমাধান করা
কখনও কখনও, ডিবাগিং এর নিজস্ব বাগগুলির প্রবণতা থাকে৷ আসুন কয়েকটি সাধারণ সমস্যা এবং কীভাবে তাদের সমস্যা সমাধান করা যায় তা দেখি।
স্কিমা যাচাইকরণ ত্রুটি৷
একটি launch.json ফাইলে অবৈধ বৈশিষ্ট্য বা মান থাকলে স্কিমা যাচাইকরণের ত্রুটি ঘটে। স্কিমা ত্রুটি ঠিক করতে:
- সমস্যা প্যানেল থেকে ত্রুটি বার্তা পর্যালোচনা করুন.
- ত্রুটি বার্তা থেকে তথ্য অনুযায়ী launch.json ফাইল আপডেট করুন.
ডিবাগিং ব্যর্থতা
ভুল লঞ্চ সেটিংস ডিবাগিং ব্যর্থতার কারণ হতে পারে।
- ভুল ফাইল পাথ জন্য আপনার লঞ্চ কনফিগারেশন পরীক্ষা করুন.
- অনুপস্থিত বা ভুল ডিবাগার বা অনুরোধের ধরন যাচাই করুন।
- প্রয়োজনে সেটিংস আপডেট করুন।
লঞ্চ কনফিগারেশন সমস্যা নির্ণয়
লঞ্চ কনফিগারেশনের সমস্যাগুলি নির্ণয় করতে:
- 'ট্রেস' বৈশিষ্ট্য 'ভার্বোস' এ সেট করে ডায়াগনস্টিক লগিং সক্ষম করুন।
- ডিবাগ কনসোলে উত্পন্ন লগগুলি পর্যালোচনা করুন এবং কোনো সমস্যা চিহ্নিত করুন।
launch.json এর জন্য টিপস
এই টিপসগুলির সাথে সর্বোত্তমভাবে launch.json ব্যবহার করুন:
- আপনার লঞ্চ কনফিগারেশনের জন্য অর্থপূর্ণ নাম ব্যবহার করুন যাতে সেগুলিকে সহজে শনাক্ত করা যায়। একাধিক ডিবাগিং পরিস্থিতির সাথে কাজ করার সময় এই অনুশীলনটি আপনাকে যথাযথ কনফিগারেশন দ্রুত খুঁজে পেতে সহায়তা করে।
- আপনার প্রকল্পের সংস্করণ নিয়ন্ত্রণ সিস্টেমে launch.json ফাইলটি অন্তর্ভুক্ত করে আপনার দলের সাথে লঞ্চ কনফিগারেশন শেয়ার করুন। প্রতিটি দলের সদস্য একই ডিবাগিং কনফিগারেশন এবং সেটিংস অ্যাক্সেস করতে পারেন।
- Git এর মত সংস্করণ নিয়ন্ত্রণ সিস্টেম আপনার launch.json ফাইলের পরিবর্তন ট্র্যাক করতে পারে। আপনি পূর্ববর্তী কনফিগারেশনে প্রত্যাবর্তন করতে সংস্করণ নিয়ন্ত্রণ ব্যবহার করতে পারেন এবং অন্যান্য দলের সদস্যদের সাথে প্রস্তাবিত সেটিংস ভাগ করে তাদের সাথে সহযোগিতা করতে পারেন৷
- এক্সটেনশনগুলি ইনস্টল করুন যা নির্দিষ্ট ভাষা, ডিবাগার বা সরঞ্জামগুলিকে সমর্থন করে যা প্রকল্পের চাহিদা অনুসারে। ডিবাগিং সেশনের সময় এই এক্সটেনশনগুলি এবং তাদের বৈশিষ্ট্যগুলি ব্যবহার করতে launch.json ফাইলটি কনফিগার করুন৷
ডিবাগিং এ লঞ্চ করুন
launch.json-এর শক্তি ব্যবহার করে, আপনি আপনার কোডিং শৈলীর সাথে সবচেয়ে ভাল মেলে আপনার ডিবাগিং অভিজ্ঞতা সামঞ্জস্য করতে পারেন। এটি আপনার কোডের গুণমান এবং কর্মক্ষমতা বাড়াবে।
কত ঘন ঘন আপনি আপনার লঞ্চ সেটিংস কনফিগার করতে হবে? আপনার কোন কনফিগারেশন টিপস আছে? নীচের মন্তব্য বিভাগে আপনার অভিজ্ঞতা শেয়ার করুন.
পোফটিতে কেউ অনলাইনে আছেন কীভাবে তা বলবেন