GDB

Софтуер снимки:
GDB
Софтуер детайли:
Версия: 8.1.1 актуализира
Дата на качване: 16 Aug 18
Розробник: Stan Shebs
Разрешително: Безплатно
Популярност: 181

Rating: 3.5/5 (Total Votes: 2)

GDB (известен също като дебъгер за GNU Project) е софтуер с отворен код и свободен софтуер за команден ред, който позволява на потребителите и разработчиците да гледат какво се случва в друга програма, докато изпълнена или защо дадено приложение се срива в определена точка.


Характеристики с един поглед

Основните характеристики включват четири различни техники, които помагат на разработчиците да хванат грешки в действието, да стартират приложение и да посочват каквото и да е нещо, което може да повлияе на поведението му, да прекрати програмата при определени условия, да прегледа дневниците при сриване на приложението, програма, за да експериментирате с коригирането на ефекта от един проблем и да продължите с изучаването на друг бъг. Той също така поддържа отстраняване на грешки на програми, написани на широк кръг езици за програмиране, включително C, C ++, Pascal , Ada, Objective-C и много други.

Това е приложение на командния ред

GNU Project debugger е винаги ще бъде приложение от командния ред. За да го използвате, трябва да стартирате & gdb & rdquo; команда в емулатора на терминала, след това изпълнете "помощ" команда (без кавички) и прозореца на gdb. Освен това можете да въведете "help" all & rdquo; команда, за да видите списък с всички команди, тип "помощ", последвано от името на команда, за да видите пълната документация, тип "помощ", последвана от името на класа, за да видите списък с команди в този клас, за да напишете "уместен дума", за да търсите за команди, свързани с "дума".


Списък на класовете команди

След като напишете "help" команда, както е описано по-горе, ще видите списък на класове от команди, включително псевдонимите (показва псевдоними на други команди), точки на прекъсване (прави програмата, за да се спре в определени точки), данни (за разглеждане на данни), файлове (за разглеждане на файлове) , Вътрешни елементи (команди поддръжка), неизвестни (неясни функции), работещи (за изпълнението на програмата), стека (за разглеждане на стека), статус (за справки за състоянието), поддръжка (за съоръжения за поддръжка), tracepoints (за проследяване на изпълнението на програмата, без да спиране на програмата) и потребителски дефинирани (дефинирани от потребителя команди).

Поддържани хардуерни платформи и OSes

GDB е създаден от офсетовия софтуер като платформена програма, работеща на стандартни операционни системи като Microsoft Windows и някои от най-популярните Linux / UNIX варианти. Той се поддържа на 32-битова и 64-битова хардуерна платформа.

Какво ново в тази версия:

  • PR gdb / 22824 (заблуждаващо описание на новата функция Python в GDB 8.1 NEWS file)
  • PR gdb / 22849 (ctrl-c не работи в отдалечено отдалечено устройство)
  • PR gdb / 22907 ([Regression] gdbserver не работи с двоични файлове само за имена на файлове)
  • PR gdb / 23028 (несъгласувано разглобяване на vcvtpd2dq)
  • PR gdb / 23053 (корекция -D_GLIBCXX_DEBUG редукция на gdb-add-index)
  • PR gdb / 23127 ([AArch64] GDB не може да се използва за отстраняване на грешки в софтуера, който използва високи виртуални адреси)
  • PR сървър / 23158 (gdbserver вече не функционира в Windows)
  • PR прекъсвания / 23210 ([8.1 / 8.2 Регресия] Адреса на точка на пречупване, изместен от 0xf7fe7dd3 до 0xfffffffff7fe7dd3)

Какво е новото във версия 8.1:

  • Фрагментите на функциите на C ++ се задават по подразбиране на всички обхвати ("wild" съвпадение);
  • Поддръжка за вмъкване на прекъсвачи на функции, маркирани с C ++ ABI тагове;
  • Насочване на аритметична емулация с плаваща запетая по време на оценката на израза (изисква MPFR 3.1 или по-нова);
  • Различни подобрения в Python Scripting;
  • Подобрена поддръжка на ръждата; по-специално, обектите Trait вече могат да бъдат проверявани при отстраняване на грешки на кода на ръждата;
  • GDB вече не прави предположения за типа символи без информация за отстраняване на грешки, за да се избегнат грешни и често объркващи резултати;
  • Командите "позволи" и "деактивиране" вече приемат редица места за прекъсване;
  • Нова команда "starti" за стартиране на програмата при първата инструкция;
  • Нова команда "rbreak" за въвеждане на редица прекъсвания чрез модел за регулярен израз (изисква Python);
  • Командата "ptype" вече поддържа отпечатването на отместването и размера на полетата в структура;
  • Командата "gcore" вече поддържа изхвърлянето на всички паметни изображения ('-a' опция за командния ред);
  • Нови преки пътища за режим TUI с един клавиш: "i" за steppi и "o" за nexti;
  • Подобрения в GDBserver:
  • Поддръжка за предаване на променливи на средата на GDBserver;
  • Поддръжка за стартиране на по-нисши процеси с определена начална работна директория;
  • На Unix системи, поддръжка за разширяване на globbing и променливо заместване на долните аргументи на командния ред;
  • Различни подобрения на завършването;
  • Командата, използвана за компилиране и инжектиране на кода с командата "compile", вече може да бъде конфигурирана;
  • Нова опция за командния ред, позволяваща ускоряване на стартирането на GDB, когато не е необходима грешка;
  • Подкрепа за следните нови родствени конфигурации:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / ръка (рамо * - * - freebsd *);
  • Поддръжка на следните нови цели:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / ръка (рамо * - * - freebsd *);
  • OpenRISC ELF (или1k * - * - elf)
  • Премахнахте поддръжката на следните цели и нативни конфигурации:
  • Solaris2 / x86 (i? 86 - * - solaris2. [0-9]);
  • Solaris2 / sparc (sparc * - * - solaris2. [0-9]);

Какво е новото във версията:

  • Изграждането на тази версия на GDB сега изисква следните инструменти:
  • компилатор C ++ - 11 (например GCC 4.8 или по-нова версия);
  • GNU прави версия 3.81 или по-нова версия.
  • Промените в тази версия включват:
  • C ++: Подкрепа за референтни стойности
  • Подобрения в скриптовете на Python:
  • Нови функции за стартиране, спиране и достъп до работещ запис на btrace.
  • Поддържайте референтната поддръжка в gdb.Type.
  • GDB команди за интерпретация:
  • Командите на потребителите вече приемат неограничен брой аргументи.
  • "Оценката" команда сега разширява потребителски дефинирани аргументи.
  • Поддръжка на DWARF версия 5
  • (имайте предвид, че неговият .debug_names индекс все още не се поддържа).
  • Подобрения в GDB / MI:
  • Команда "Нов списък с споделени библиотеки", за да се покажат споделените библиотеки в програмата.
  • Нова команда за изтриване на флаш, за изтриване на флаш памет.
  • Поддръжка на собствения FreeBSD / mips (mips * - * - freebsd)
  • Поддръжка за следните цели:
  • Synopsys ARC (дъга * - * - elf32)
  • FreeBSD / mips (mips * - * - freebsd)
  • Разни подобрения:
  • Пренасочването на командния ред вече се поддържа от хостове MS-Windows.
  • Поддръжка на имена на нишки в MS-Windows.
  • Поддръжка на PKU регистъра на GNU / Linux.
  • Поддръжка за описанията на цели за sparc32 и sparc64.
  • Нова команда GDB / CLI за изтриване на флаш памет
  • rdrand и rdseed инструкции за запис / повторение.
  • Поддържат се следните функции:
  • Поддръжка за Java програми, компилирани с gcj
  • Поддръжка за следните конфигурации:
  • FreeBSD / алфа (алфа * - * - freebsd *)
  • GNU / kFreeBSD / алфа (алфа * - * - kfreebsd * -gnu)

  • PR build / 18033 (C ++ стил коментар, използван в / ъв gdb / iq2000-tdep.c и gdb / компилиране / компилиране - *. в)

  • PR build / 18298 (командата "компилиране" не може да намери компилатора, ако инструментите са конфигурирани с триплет вместо четворни)
  • PR tui / 18311 (Случаен SEGV при показване на регистри в режим TUI)
  • PR python / 18299 (изключение при регистриране на глобален красив принтер в подробен режим)
  • PR python / 18066 (аргументът "дума" изглежда счупен в Command.complete (текст, дума))
  • PR pascal / 17815 (Прикрепване на поведението на пасала за полета на класа с testcase)
  • PR python / 18285 (ptype expr-with-xmethod причинява SEGV)

Какво е новото във версия 7.9:

  • Подобрения в скрипта на Python.
  • Съставяне на изходния код и инжектиране в долната част.
  • Нови команди, опции, удобни променливи / опции.
  • Поддръжка на MIPS SDE (mips * -sde * -self *).
  • По-добро управление на сигналите при отстраняване на грешки при програми с резба.

Какво е новото във версия 7.8.2: PR symtab / 17642 -error: resolve_dynamic_struct: Твърдението "TYPE_NFIELDS (тип) & gt; 0" не е успешно.)

  • PR binutils / 17677 (_bfd_elf_get_synthetic_symtab работи в O (n ^ 2) сложност)
  • PR gdb / 16215 (SPARC: не може да изчисли CFA за тази рамка)
  • PR gdb / 17525 (цел-async: команди за прекъсване не са изпълнени при изпълнение на програма от -x скрипт)
  • PR клик / 17828 (терминал за [7.8 регресия] -бар-ex r прекъсва)
  • Какво е новото във версия 7.8.1:

    • PR python / 17364 (Нуждаете се от по-добри имена на принтери в bound_registers.py)
    • PR изграждане / 17104 (CFLAGS = "-Wall -Wextra" gdb / confgure --with-babeltrace не успее)
    • PR gdb / 17345 (babeltrace (1.1.2 и по-късно) се оплаква от ctf данните, генерирани от GDB)
    • PR build / 17298 (gcore: Не може да се регистрират: няма такъв процес)
    • PR python / 17342 (Xmethod Python не е съвместим с Python 3)
    • PR python / 17355 (Crash на филтрите на рамката на Python с нечетливи arg)
    • PR guile / 17367 (изчисляването на пътя на гилдията е грешен, когато pkg-config скриптът е предоставен като arg to --with-guile)
    • PR gdb / 17247 (gdb блокира приложението с много резбовани файлове)
    • PR gdb / 17347 (Регресия: GDB е спрян при изпълнение с прикачен процес)
    • PR gdb / 17407 (Регресия за четене на vDSO на Linux)
    • PR сървър / 17457 (aarch64 / gdbserver: дисплей с грешни платформи)
    • PR сървър / 17487 (state-> dr_control_mirror == 0 не успя да твърди в gdbserver в Windows)
    • PR gdb / 17472 (с пояснения, вход при изпълнение на преден план се забива readline / gdb)
    • PR gdb / 17471 (повтаряйки командата на фона я предава)
    • PR кли / 17300 (катастрофа в режим без прекъсване с продължаване на -a & (readline_callback_read_char (), наречен без манипулатор!))
    • PR python / 17372 (Python виси при показването на помощ ())
    • PR python / 17408 (../../gdb/infrun.c:5256: вътрешна грешка: switch_back_to_stepped_thread: Предупреждението `! schedlock_applies (1) 'не е успешно.)

    Какво е новото версия 7.8:

    • Подобрения в скриптовете на Python.
    • Нови команди, опции, удобни променливи / опции.
    • Подобрения от отдалечен протокол и GDBserver.
    • Нови прицелни конфигурации (PowerPC64 GNU / Linux малко-ендийски).
    • подобрения на btrace.
    • Поддръжка на автоматични масиви с променлива дължина ISO C99.
    • "Сравняващите секции" командата вече работи на всички цели.
    • "Целевият нативен" командата вече се свързва с родната мишена.

    Какво е новото във версия 7.7:

    • Подобрена поддръжка на скриптове за Python.
    • Някои подобрения в C ++.
    • Нови команди, опции, удобни променливи / опции.
    • Няколко нови команди и подобрения в GDB / MI.
    • Подобрения от отдалечен протокол и GDBserver.
    • Нови прицелни конфигурации (Nios II, TI MSP430).
    • GDB Windows x64 премахва поддръжката на данните.
    • SystemTap SDT сондите поддържат на AArch64 GNU / Linux.
    • Поддръжка на CTF (Common Trace Format).
    • Нови скриптове gcore и gdb-add-index.sh.
    • Подобрена поддръжка * -linux запис / повторение.
    • Премахна поддръжка за изчерпани конфигурации на NetBSD и OpenBSD. ELF вариантите на тези конфигурации се поддържат.
    • В "set | show remotebaud" командите се отхвърлят в полза на "show show serum baud".

    Какво е новото във версия 7.6.2:

    • PR breakpoint / 16251 вилица)
    • PR gdb / 16303 (GDB 7.6.1 не работи с binutils 2.24 на MIPS16 и microMIPS)

    Какво е новото във версия 7.6.1:

    • PR tdep / 15420 (не може да се отстраняват програмите с резба на по-нови версии на x86-solaris - Solaris 10,
    • PR дистанционно / 15455 (QTro отдалечен пакет е счупен)
    • PR build / 15476 (Извършване на неуспех поради непълния enum тип в utils.h)
    • PR сървър / 15594 (поддръжка на tls в 64x32 x86 gdbserver не разширява адреса на 64 бита)
    • PR сървър / 15075 (dprintf интерферира с "следващия")
    • PR сървър / 15434 (dprintf използва синхронно "продължи" дори в режим без прекъсване)
    • PR tui / 14880 (в разделянето на разделен регистър, резултатът се оказва неуспешно в стойността.c)
    • PR c ++ / 15519 (GDB 7.6 е 94 пъти по-бавно от GDB 7.5.1 използвайки определен сървър файл)
    • PR gdb / 15837 (GDB отпечатва входните стойности за локалните променливи)
    • PR gdb / 15415 (gdb решава символните връзки при преминаване на argv [0])
    • PR кли / 15603 (CTRL-C вече не може да прекъсва низши)
    • PR gdb / 15604 (изтичане на gdbserver изтичане 7,5)

    Какво е новото във версия 7.5:

    • Отидете на езиковата поддръжка.
    • Нови цели (x32 ABI, microMIPS, Renesas RL78, HP OpenVMS ia64).
    • Повече подобрения на Python скриптове.
    • Сондата за SDT (Static Defined Tracking) поддържа сондите SystemTap.
    • Подобрения в GDBserver (свързвания със стадио, оценка на целевите страни на условията на прекъсване, подобрения от отдалечени протоколи).
    • Други различни подобрения (възможност за спиране, когато се зарежда / разтоварва споделена библиотека, динамична printf и др.)
    • Обратно отстраняване на грешки в ARM.
    • Двоичното "gdbtui" е изоставен и вече не може да бъде построен. Използвайте "gdb-tui" вместо.

    Какво е новото във версия 7.4:

    • Незаинтересованите функции и файлове вече могат да бъдат пропуснати, когато стъпвате с функцията "прескачане" и "прескачане на файл" команди.
    • Добавени бяха команди за настройка и получаване на максималната дължина на отдалечена целева точка за хардуер.
    • Скриптовете в Python бяха значително подобрени.
    • Направени са много други подобрения, корекции на бъгове и общи промени.

    Какво е новото във версия 7.1:

    • Поддръжка на нови цели (включително симулатори):
    • Xilinx MicroBlaze
    • Renesas RX
    • Основните нови функции са:
    • Отстраняване на грешки в няколко програми, което позволява на дебъгера да контролира повече от
    • една програма в същата сесия на GDB.
    • Отстраняване на грешки при изпълнение на независими изпълними изпълнения (PIE).
    • Освен това има много подобрения и корекции на програмни грешки, включително:
    • Поддръжката на Python е разширена.
    • Подобрения в поддръжката на C ++ (пространство на имена, оператори на гласове, корекции на програмни грешки)
    • Подобрения в поддръжка на Tracepoint.
    • Промени в процеса на записване (запазване / възстановяване на дневника за изпълнение, хардуер
    • )
    • поддръжка на часовника).
    • Подобрения от дистанционни протоколи (отстраняване на грешки в ядрото на Linux, нови пакети
    • )
    • за поддръжка на трапецовид)

    Подобен софтуер

    drainhunter
    drainhunter

    12 May 15

    rpcpdb
    rpcpdb

    20 Feb 15

    Cleaner
    Cleaner

    3 Jun 15

    Clint
    Clint

    2 Jun 15

    Друг софтуер на разработчика Stan Shebs

    Xconq
    Xconq

    2 Jun 15

    Коментари към GDB

    Коментари не е намерена
    добавите коментар
    Включете на изображения!
    Търсене по категория