GDB 13.1 جاری کیا گیا ہے (13.x سیریز کی پہلی ریلیز، 13.0 برانچ کو ترقی کے لیے استعمال کیا گیا تھا)۔ GDB پروگرامنگ زبانوں کی ایک وسیع رینج (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, وغیرہ) کے لیے مختلف ہارڈ ویئر (i386, amd64, ARM, Power, Sparc, RISC-V, وغیرہ) اور سافٹ ویئر/ پلیٹ فارم پر سورس لیول ڈیبگنگ کی حمایت کرتا ہے۔Linux, *BSD, Unix, Windows, macOS).
کلیدی اصلاحات:
- GNU/Linux architectures پر ڈیبگر اور GDBserver کو چلانے کے لیے معاونت شامل کی گئی۔Linuxلونگ آرچ اور جی این یو/Linux/CSKY۔
- پلیٹ فارم پر کام کرنے کے لیے سپورٹ کو نافذ کیا گیا ہے۔ Windows غیر مطابقت پذیر موڈ میں (async)۔
- FreeBSD پلیٹ فارم پر، ARM اور AArch64 فن تعمیر کے لیے TLS (تھریڈ لوکل سٹوریج) متغیرات کے لیے تعاون شامل کیا گیا ہے، اور AArch64 فن تعمیر کے لیے ہارڈویئر بریک پوائنٹس (واچ پوائنٹس) کو استعمال کرنے کی صلاحیت فراہم کی گئی ہے۔
- GNU ماحول میں/Linux لونگ آرچ سسٹمز میں فلوٹنگ پوائنٹ سپورٹ شامل کر دی گئی ہے۔
- نئی کمانڈز "مینٹیننس سیٹ ignore-prologue-end-flag|libopcodes-styling" اور "مینٹیننس پرنٹ فریم-id" کو لاگو کیا گیا ہے، ساتھ ہی الگ کیے گئے آؤٹ پٹ کے انداز کو کنٹرول کرنے کے لیے کمانڈز (سیٹ اسٹائل ڈس ایسمبلر *)۔
- چار بائٹ گروپس میں بائنری اقدار کے ڈسپلے کو کنٹرول کرنے کے لیے "سیٹ پرنٹ نِبلز [آن|آف]" اور "شو پرنٹ نِبلز" کمانڈز شامل کیے گئے۔
- Python API میں بہتری لائی گئی ہے۔ جداگانہ ہدایات کے لیے ایک API شامل کر دیا گیا ہے، gdb.BreakpointLocation کی قسم کو لاگو کر دیا گیا ہے، اور gdb.format_address، gdb.current_language، اور gdb.print_options فنکشنز شامل کیے گئے ہیں۔
- GDB/MI کنٹرول پروگرام انٹرفیس نے MI انٹرفیس کے پہلے ورژن کو فرسودہ کر دیا ہے اور اسے GDB 14 برانچ میں ہٹا دیا جائے گا۔
- ELF فائلیں اب zstd الگورتھم کا استعمال کرتے ہوئے ڈیبگ سیکشنز کو سپورٹ کرتی ہیں۔
- نئے بلٹ ان متغیرات شامل کیے گئے: $_inferior_thread_count، $_hit_bpnum، $_hit_locno۔
- 'Dassemble /r' اور 'record instruction-history/r' کمانڈز کے آؤٹ پٹ فارمیٹ کو objdump سے ملنے کے لیے ایڈجسٹ کیا گیا ہے۔ پرانے فارمیٹ میں واپس آنے کے لیے "/b" آپشن شامل کر دیا گیا ہے۔
- TUI (ٹیکسٹ یوزر انٹرفیس) میں، موجودہ پوزیشن انڈیکیٹر کے ذریعہ نمایاں کردہ سورس اور اسمبلی کوڈ کا اسٹائل غیر فعال ہے۔
- صارف کے احکامات کو دستاویز کرنے کے لیے "دستاویز" کمانڈ استعمال کرنے کی صلاحیت متعارف کرائی گئی ہے۔
- ARMv8.5 MTE (MemTag، Memory Tagging Extension) میکانزم کا استعمال کرتے وقت استعمال ہونے والے میموری ٹیگ ڈیٹا کے ساتھ ڈمپ بنانے کی صلاحیت شامل کی گئی ہے، جو آپ کو ہر میموری ایلوکیشن آپریشن میں ٹیگز کو بائنڈ کرنے اور پوائنٹر کی جانچ کو منظم کرنے کی اجازت دیتا ہے، جو میموری تک رسائی حاصل کرتے وقت درست ٹیگ کے ساتھ منسلک ہونا چاہیے۔
- DBX مطابقت موڈ سپورٹ کو بند کر دیا گیا ہے۔
- Python 2 کے ساتھ تعمیر کے لیے سپورٹ بند کر دی گئی ہے۔
- کمانڈز "سیٹ debug aix-solib on|off"، "debug aix-solib دکھائیں"، "set debug solib-frv|off" اور "show debug solib-frv" کو ہٹا دیا گیا ہے، اور اس کی بجائے کمانڈز "set/show debug solib" کو استعمال کیا جانا چاہیے۔
ماخذ: opennet.ru
