انتشار دیباگر GDB 9

ارسال شده توسط انتشار اشکال زدا GDB 9.1 (اولین نسخه از سری 9.x، شاخه 9.0 برای توسعه استفاده شد). GDB از اشکال زدایی در سطح منبع برای طیف گسترده ای از زبان های برنامه نویسی (Ada، C، C++، Objective-C، Pascal، Go و غیره) روی سخت افزارهای مختلف (i386، amd64، ARM، Power، Sparc، RISC-V) پشتیبانی می کند. و غیره) و پلتفرم های نرم افزاری (GNU/Linux، *BSD، Unix، Windows، macOS).

کلید پیشرفت ها:

  • پشتیبانی از سیستم عامل های Solaris 10 و Cell Broadband Engine متوقف شده است.
  • یک شبیه ساز جدید برای زیرسیستم PRU (واحد زمان واقعی قابل برنامه ریزی) مورد استفاده در پردازنده های Texas Instruments (pru-*-elf) اضافه شد.
  • یک حالت آزمایشی برای بارگیری سریع نمادهای اشکال زدایی در حالت چند رشته ای اضافه شده است (فعال شده از طریق تنظیمات "مجموعه اصلی کارگر-رشته های نامحدود").
  • امکان استفاده از نماد '.' در نام دستورات وجود دارد.
  • قابلیت تنظیم نقاط شکست در توابع و زیر روال های تو در تو در Fortran اضافه شده است.
  • کار انجام شده است تا به یک سبک واحد و بهبود خوانایی دستورات.
  • یک زیرساخت استاندارد برای ارسال آرگومان های فرمان با استفاده از کاراکتر خط تیره ('-OPT') پیاده سازی شده است که امکان تکمیل خودکار با استفاده از کلید tab را فراهم می کند.
  • دستورات "printf" و "eval" پشتیبانی از خروجی رشته ها در سبک های C و Ada را بدون فراخوانی مستقیم یک تابع در برنامه انجام می دهند.
  • پشتیبانی برای فیلتر کردن فایل های خروجی بر اساس یک عبارت منظم در دستور "منبع اطلاعات" اضافه شده است.
  • در تنظیم "تنظیم آرگومان های قاب چاپ"، پارامتر "حضور" اجرا می شود، در صورت تنظیم، به جای نمایش نام و مقدار، فقط نشانگر حضور "..." برای آرگومان ها نمایش داده می شود.
  • در رابط TUI دستورات "focus"، "winheight"، "+"، "-"، ">، "<" اکنون به حروف بزرگ و کوچک حساس هستند.
  • برای دستورات "print"، "compile print"، "backtrace"، "frame"
    گزینه های application، "tfaas" و "faas" برای نادیده گرفتن تنظیمات جهانی (به عنوان مثال، تنظیمات از طریق "set print […]") پیاده سازی شده اند.

  • گزینه "-q" به دستور "info types" اضافه شده است تا خروجی برخی از هدرها غیرفعال شود.
  • در تنظیمات، به جای مقدار "نامحدود"، اکنون می توانید "u" را مشخص کنید.
  • دستورات جدید اضافه شده:
    • "define-prefix" برای تعریف دستورات پیشوند خود.
    • "|" یا "pipe" برای اجرای یک فرمان و تغییر مسیر خروجی به یک فرمان پوسته.
    • "با" برای اجرای دستور مشخص شده با تنظیمات موقتاً تغییر یافته؛
    • برای کنترل اینکه آیا یک زیربرنامه می‌تواند از GDB فراخوانی شود یا خیر، «تنظیم توابع ممکن تماس»
    • "تنظیم پایان چاپ [روشن|خاموش]" برای کنترل نمایش مقدار بازگشتی هنگام استفاده از دستور "پایان".
    • "تنظیم حداکثر عمق چاپ" برای محدود کردن خروجی ساختارهای تودرتو.
    • "تنظیم مقادیر خام چاپی [روشن|خاموش]" برای فعال کردن/غیرفعال کردن قالب بندی مقادیر خروجی؛
    • برای کنترل ذخیره خروجی اشکال‌زدایی در یک فایل گزارش، «تنظیم اشکال‌زدایی ورود به سیستم [روشن|خاموش]».
    • مجموعه ای از دستورات جدید "Set style"؛
    • برای تعیین اطلاعاتی که باید هنگام نمایش وضعیت قاب پشته چاپ شوند، «تنظیم اطلاعات قاب چاپی […]».
    • "تنظیم منبع فشرده tui" برای فعال کردن حالت فشرده برای نمایش کد در رابط کاربری TUI (واسط کاربری متنی).
    • "ماژول های اطلاعات [...]" برای درخواست اطلاعات در مورد ماژول های فرترن.
    • به جای «تنظیم/نمایش چاپ آرگومان‌های فریم خام»، دستور «تنظیم/نمایش چاپ آرگومان‌های فریم خام» پیشنهاد شده است (از یک خط تیره به جای فاصله به عنوان جداکننده استفاده می‌کند).
  • در رابط نرم افزار کنترل GDB/MI دستورات جدید «-complete»، «-catch-throw»، «-catch-rethrow»، «-catch-catch»، «-symbol-info-functions»، «-symbol-info-types» را اضافه کرد.
    "-symbol-info-variables"، "-symbol-info-modules"، "-symbol-info-module-functions" و "-symbol-info-module-variables" معادل همان دستورات GDB هستند. به طور پیش فرض، نسخه سوم مفسر MI فعال است (-i=mi3).

  • اضافه شدن متغیرهای داخلی جدید:
    • $_gdb_major، $_gdb_minor;
    • $_gdb_setting، $_gdb_setting_str، $_gdb_maint_setting،
    • $_gdb_maint_setting_str
    • $_cimag، $_creal
    • $_shell_exitcode، $_shell_exitsignal
  • گزینه "--with-system-gdbinit-dir" را به پیکربندی اسکریپت ساخت اضافه کرد تا مسیر فایل های سیستم gdbinit را تعیین کند.
  • تعدادی بهبود در API پایتون انجام شده است. اضافه شدن قابلیت ساخت با پایتون 3 در ویندوز.
  • الزامات برای محیط مونتاژ افزایش یافته است. ساخت GDB و GDBserver در حال حاضر به حداقل GNU make 3.82 نیاز دارد. هنگام ساخت با یک کتابخانه Readline خارجی، حداقل GNU readline 7.0 مورد نیاز است.

منبع: opennet.ru

اضافه کردن نظر