Ukukhishwa kwe-Debugger GDB 17

Представлен релиз отладчика GDB 17.1 (первый выпуск серии 17.x, ветка 17.0 использовалась для разработки). GDB поддерживает отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc, RISC-V, LoongArch и т.д.) и программных платформах (GNU/Linux, *BSD, Unix, Windows, macOS).

Ukuthuthukiswa okuphawuleka kakhulu:

  • Для систем x86-64 реализована поддержка теневого стека (shadow stack), появившегося в ядре Linux 6.6 и позволяющего блокировать работу многих эксплоитов, используя аппаратные возможности процессоров Intel для защиты от перезаписи адреса возврата из функции в случае переполнения буфера в стеке. Суть защиты в том, что после передачи управления функции, адреса возврата сохраняются процессором не только в обычном стеке, но и в отдельном «теневом» стеке, который не может быть изменён напрямую. Перед выходом из функции адрес возврата извлекается из теневого стека и сверяется с адресом возврата из основного стека.
  • Добавлена возможность отладки Linux-программ, собранных для архитектуры AArch64 и использующих расширение GCS (Guarded Control Stack). GCS предоставляет средства для аппаратной защиты адресов возврата из функций и блокирования эксплоитов, использующих методы возвратно-ориентированного программирования (ROP — Return-Oriented Programming, эксплоит формируется из уже имеющихся кусков машинных инструкций, завершающихся инструкцией возврата управления).
  • Kumasistimu anesakhiwo se-rv64gc, ukusekelwa okugcwele kokuqopha inqubo yokusebenzisa uhlelo kuye kwasetshenziswa ekubuyiseleni amaphutha kanye nokuphinda kusetshenziswe izingxenye zekhodi.
  • Umyalo othi "izingxoxo zolwazi" manje unezinketho "ezimisiwe" kanye "nezisebenzayo" ukukhombisa izingxoxo ezimisiwe noma ezisebenzayo kuphela.
  • В команде «info sharedlibrary» на платформах Linux и FreeBSD обеспечен показ адресов для всего диапазона памяти, выделенного разделяемой библиотеке (ранее показывался только базовый адрес и адреса для секции .text).
  • Обеспечена возможность использования снимков состояния (checkpoint) в Linux при одновременной отладке несколько процессов.
  • Ukusekelwa okwandisiwe kwezikhala zamagama ze-linker.
  • Izimpawu ze-emoji zisetshenziselwa ukugqamisa amaphutha nezixwayiso.
  • Esikhathini yesikhulumi Linux реализована встроенная возможность доступа к локальным переменным потоков (Thread-Local Storage, TLS), используемая при отсутствии библиотеки libthread_db. Возможность доступна для архитектур x86_64, aarch64, ppc64, s390x и riscv при сборке с GLIBC или MUSL.
  • Kwengezwe umyalo othi "set riscv numeric-register-names" ukuze kuboniswe amarejista e-RISC-V kusetshenziswa ama-ID awo ezinombolo esikhundleni samagama e-ABI.
  • Kwenziwe intuthuko ku-Python API. Amakilasi amasha, i-gdb.Color kanye ne-gdb.ParameterPrefix, isici se-gdb.Value.is_unavailable, kanye nomsebenzi we-gdb.warning() kungeziwe. Ukusekelwa kwezinguqulo ze-Python ezindala kuyekiwe—i-Python 3.4 kuphela kanye nentsha iyasekelwa.
  • Kuthuthukiswe i-Guile API. " ".
  • Расширены возможности протокола DAP (Debugger Adapter Protocol): реализована поддержка запросов «completions» и добавлена опция «—binary-output» для отключения преобразования символов перевода строки на платформе Windows.
  • Kungezwe iziguquguquko $_colorsupport (uhlu lwezikhala zemibala ezisekelwa yi-terminal), $linker_namespace_count kanye $_linker_namespace (uhlu lwezikhala zamagama ezisebenzayo ze-linker).
  • Kwengezwe izinketho "--disable-gdb-compile" ukuze kukhutshazwe uhlelo olungaphansi lokuhlanganiswa, kanye "--disable-gdb-dwarf-support" kanye "--disable-gdb-mdebug-support" ukuze kukhutshazwe ulwazi lokulungisa amaphutha kumafomethi e-DWARF kanye ne-mdebug/ecoff.
  • I-Gdbserver iyeke ukusekela i-UST (i-static tracepoint).

Source: opennet.ru

Thenga ukusingathwa okuthembekile kwamasayithi anokuvikelwa kwe-DDoS, amaseva e-VPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekile ngokuvikelwa kwe-DDoS, amaseva e-VPS VDS | ProHoster