tl; dr: আপনার নির্দিষ্ট প্রশ্নের উত্তর দিতে, -g3
"ম্যাক্রো সংজ্ঞা যেমন অতিরিক্ত তথ্য অন্তর্ভুক্ত করে ... কিছু ডিবাগার আপনি যখন ব্যবহার করেন তখন ম্যাক্রো সম্প্রসারণকে সমর্থন করেন -g3
", যখন -g
এই অতিরিক্ত তথ্য অন্তর্ভুক্ত করে না।
এর বিস্তৃত উত্তর হ'ল (সর্বাধিক ডিবাগ তথ্য) -g0
মাধ্যমে -g3
( ডিবাগ তথ্য অক্ষম করা) থেকে জিসিসি চার স্তরের ডিবাগ তথ্যকে সমর্থন করে ।
নির্দিষ্টকরণের -g
সমতুল্য -g2
। কৌতূহলজনকভাবে, gcc ডক্স কোন তথ্য -g
/ -g2
অন্তর্ভুক্ত বা বাদ দেয় সে সম্পর্কে খুব কম বলে :
ডিবাগিং তথ্যের জন্য অনুরোধ করুন এবং কত তথ্য নির্দিষ্ট করতে স্তর ব্যবহার করুন। ডিফল্ট স্তরটি হল ২ স্তর কোনও ডিবাগ তথ্য তৈরি করে না। সুতরাং, -g0 -g অবহেলা করে।
স্তর 1 ন্যূনতম তথ্য উত্পাদন করে, প্রোগ্রামের অংশগুলিতে ব্যাকট্রেস তৈরির জন্য যথেষ্ট যা আপনি ডিবাগ করার পরিকল্পনা করেন না। এর মধ্যে ফাংশন এবং বাহ্যিক ভেরিয়েবলের বর্ণনা এবং লাইন নম্বর সারণী রয়েছে তবে স্থানীয় ভেরিয়েবল সম্পর্কে কোনও তথ্য নেই।
স্তর 3 এ অতিরিক্ত তথ্য অন্তর্ভুক্ত রয়েছে যেমন প্রোগ্রামে উপস্থিত সমস্ত ম্যাক্রো সংজ্ঞা s আপনি -g3 ব্যবহার করার সময় কিছু ডিবাগার ম্যাক্রো সম্প্রসারণকে সমর্থন করে।