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调试器始终是一个命令行应用程序。要使用它,您必须运行“gdb”。命令在终端模拟器中,然后执行“帮助”。命令(不带引号)a gdb提示符。此外,您还可以输入“全部帮助”。命令查看所有命令的列表,键入“help”后跟命令名查看完整文档,键入“help”后跟类名查看该类中的命令列表,键入“apropos word”进行搜索与“word。”相关的命令。


命令类列表

输入“帮助”后如上所述,您将看到命令类列表,包括别名(显示其他命令的别名),断点(使程序在某些点停止),数据(用于检查数据),文件(用于检查文件) ,内部(维护命令),模糊(晦涩的功能),运行(用于运行程序),堆栈(用于检查堆栈),状态(用于状态查询),支持(用于支持设施),跟踪点(用于跟踪程序执行而无需停止程序)和用户定义的(用户定义的命令)。

支持的硬件平台和操作系统

GDB从偏移设计为跨平台应用程序,在Microsoft Windows等主流操作系统和一些最流行的Linux / UNIX变体上运行。它在32位和64位硬件平台上都受支持。

此版本中的新功能

  • PR gdb / 22824(GDB 8.1 NEWS文件中新的rbreak Python函数的误导性描述)
  • PR gdb / 22849(ctrl-c在扩展远程中不起作用)
  • PR gdb / 22907([回归] gdbserver不适用于仅限文件名的二进制文件)
  • PR gdb / 23028(vcvtpd2dq的反汇编不一致)
  • PR gdb / 23053(修复-D_GLIBCXX_DEBUG gdb-add-index regression)
  • PR gdb / 23127([AArch64] GDB不能用于调试使用高虚拟地址的软件)
  • PR server / 23158(gdbserver在Windows上不再起作用)
  • PR断点/ 23210([8.1 / 8.2回归]虚假断点地址从0xf7fe7dd3调整为0xfffffffff7fe7dd3)

8.1版中的新功能

  • 默认情况下,所有范围都设置了C ++函数的断点(“wild”匹配);
  • 支持在标有C ++ ABI标记的函数上插入断点;
  • 表达式评估期间的目标浮点算术仿真(需要MPFR 3.1或更高版本);
  • 各种Python脚本增强功能;
  • 改善Rust支持;特别是,现在可以在调试Rust代码时检查Trait对象;
  • GDB不再对没有调试信息的符号类型做出假设,以避免产生错误且常常令人困惑的结果;
  • 'enable'和'disable'命令现在接受一系列断点位置;
  • 用于在第一条指令启动程序的新'starti'命令;
  • 新的'rbreak'命令通过正则表达式模式插入多个断点(需要Python);
  • 'ptype'命令现在支持在结构中打印字段的偏移量和大小;
  • 'gcore'命令现在支持转储所有内存映射('-a'命令行选项);
  • TUI单键模式的新快捷方式:“i”代表stepi,“o”代表nexti;
  • GDBserver增强功能:
  • 支持将环境变量传输到GDBserver;
  • 支持使用指定的初始工作目录启动劣质流程;
  • 在Unix系统上,支持globbing扩展和劣质命令行参数的变量替换;
  • 各种完成改进;
  • 现在可以配置使用'compile'命令编译和注入代码的命令;
  • 新的'--readnever'命令行选项可在不需要调试信息时加速GDB启动;
  • 支持以下新的原生配置:
  • FreeBSD / aarch64(aarch64 * - * - freebsd *);
  • FreeBSD / arm(arm * - * - freebsd *);
  • 支持以下新目标:
  • FreeBSD / aarch64(aarch64 * - * - freebsd *);
  • FreeBSD / arm(arm * - * - freebsd *);
  • OpenRISC ELF(or1k * - * - elf)
  • 删除了对以下目标和本机配置的支持:
  • Solaris2 / x86(i?86 - * - solaris2。[0-9]);
  • Solaris2 / sparc(sparc * - * - solaris2。[0-9]);

版本中的新功能

  • 构建此版本的GDB现在需要以下工具:
  • C ++ - 11编译器(例如,GCC 4.8或更高版本);
  • GNU make 3.81或更高版本。
  • 此版本中的更改包括:
  • C ++:支持右值参考
  • Python脚本增强功能:
  • 启动,停止和访问正在运行的btrace录制的新功能。
  • gdb.Type中的右值参考支持。
  • GDB命令解释器:
  • 用户命令现在接受无限数量的参数。
  • “eval”。命令现在扩展用户定义的参数。
  • DWARF第5版支持
  • (请注意,它的.debug_names索引尚不支持)。
  • GDB / MI增强功能:
  • 新建-file-list-shared-libraries命令列出程序中的共享库。
  • 新的-target-flash-erase命令,用于擦除闪存。
  • 支持原生FreeBSD / mips(mips * - * - freebsd)
  • 支持以下目标:
  • Synopsys ARC(arc * - * - elf32)
  • FreeBSD / mips(mips * - * - freebsd)
  • 其他增强功能:
  • MS-Windows主机现在支持命令行重定向。
  • 支持MS-Windows上的线程名称。
  • 支持GNU / Linux上的PKU注册。
  • 支持sparc32和sparc64上的目标描述。
  • 用于擦除闪存的新GDB / CLI命令
  • rdrand和rdseed说明记录/重播支持。
  • 已删除对以下功能的支持:
  • 支持使用gcj
  • 编译的Java程序
  • 支持以下配置:
  • FreeBSD / alpha(alpha * - * - freebsd *)
  • GNU / kFreeBSD / alpha(alpha * - * - kfreebsd * -gnu)

版本7.9.1中的新内容

  • PR build / 18033(C ++样式注释用于gdb / iq2000-tdep.c和gdb / compile / compile - * .c)
  • PR build / 18298(如果工具配置为triplet而不是quadruplet,则“compile"”命令找不到编译器)
  • PR tui / 18311(在TUI模式下显示寄存器时的随机SEGV)
  • PR python / 18299(以详细模式注册全局漂亮打印机时的例外)
  • PR python / 18066(参数“word”在Command.complete(text,word)中似乎已断开)
  • PR pascal / 17815(修复带有测试用例的类字段的pascal行为)
  • PR python / 18285(ptype expr-with-xmethod导致SEGV)

7.9版中的新功能

  • Python脚本增强功能。
  • 源代码编译并注入劣质。
  • 新命令,选项,便利变量/选项。
  • MIPS SDE支持(mips * -sde * -elf *)。
  • 调试线程程序时更好地处理信号。

版本7.8.2中的新功能

  • PR symtab / 17642([7.8回归]内部-error:resolve_dynamic_struct:断言`TYPE_NFIELDS(type)> 0'失败。)
  • PR binutils / 17677(_bfd_elf_get_synthetic_symtab以O(n ^ 2)复杂度运行)
  • PR gdb / 16215(SPARC:无法计算此帧的CFA)
  • PR gdb / 17525(目标异步:从-x脚本运行程序时未执行断点命令)
  • PR cli / 17828([7.8回归] -batch -ex r中断终端)

版本7.8.1中的新功能

  • PR python / 17364(在bound_registers.py中需要更好的打印机名称)
  • PR build / 17104(CFLAGS =" -Wall -Wextra" gdb / confgure --with-babeltrace failed)
  • PR gdb / 17345(babeltrace(1.1.2及更高版本)抱怨GDB生成的ctf数据)
  • PR build / 17298(gcore:无法获取注册:没有这样的过程)
  • PR python / 17342(Xmethod Python不兼容Python 3)
  • PR python / 17355(使用不可读的arg的Python帧过滤器崩溃)
  • PR guile / 17367(将pkg-config脚本作为arg提供给--with-guile时计算公会路径错误)
  • PR gdb / 17247(gdb在多线程应用上冻结)
  • PR gdb / 17347(回归:GDB在附加过程中停止运行)
  • PR gdb / 17407(Linux vDSO阅读的回归)
  • PR server / 17457(aarch64 / gdbserver:错误的浮点寄存器显示)
  • PR server / 17487(state-> dr_control_mirror == 0在Windows上的gdbserver中断言失败)
  • PR gdb / 17472(带注释,在前台执行时输入崩溃readline / gdb)
  • PR gdb / 17471(重复后台命令使其成为前景)
  • PR cli / 17300(在非停止模式下崩溃,继续-a&(readline_callback_read_char()调用没有处理程序!)
  • PR python / 17372(显示help()时python挂起)
  • PR python / 17408(../../gdb/infrun.c:5256:internal-error:switch_back_to_stepped_thread:断言`!schedlock_applies(1)'失败。)

版本7.8中的新功能

  • Guile脚本支持。
  • Python脚本增强功能。
  • 新命令,选项,便利变量/选项。
  • 远程协议和GDBserver增强功能。
  • 新目标配置(PowerPC64 GNU / Linux little-endian)。
  • btrace增强功能。
  • ISO C99可变长度自动阵列支持。
  • “比较部分”。命令现在适用于所有目标。
  • “目标原生”命令现在连接到本机目标。

版本7.7中的新功能

  • 增强的Python脚本支持。
  • 一些C ++改进。
  • 新命令,选项,便利变量/选项。
  • 几个GDB / MI新命令和增强功能。
  • 远程协议和GDBserver增强功能。
  • 新目标配置(Nios II,TI MSP430)。
  • GDB Windows x64展开数据支持。
  • SystemTap SDT探针支持AArch64 GNU / Linux。
  • CTF(通用跟踪格式)支持。
  • 新脚本gcore和gdb-add-index.sh。
  • 改进了arm * -linux记录/重播支持。
  • 删除了对a.out NetBSD和OpenBSD过时配置的支持。保持支持这些配置的ELF变体。
  • “set | show remotebaud”"不推荐使用命令,而使用“show | show serial baud”。

版本7.6.2中的新功能

  • PR断点/ 16251(AArch64硬件断点错误后叉)
  • PR gdb / 16303(GDB 7.6.1不适用于MIPS16和microMIPS上的binutils 2.24)

版本7.6.1中的新功能

  • PR tdep / 15420(无法在较新版本的x86-solaris上调试线程程序 - Solaris 10,Update 10或更高版本)
  • PR remote / 15455(QTro远程数据包已损坏)
  • PR build / 15476(由于utils.h中的枚举类型不完整导致构建失败)
  • PR server / 15594(在64x32 x86 gdbserver中支持不会将地址扩展到64位)
  • PR server / 15075(dprintf inteferes with“next”)
  • PR server / 15434(dprintf即使在非停止模式下也使用同步'继续')
  • PR tui / 14880(在拆分寄存器布局中,up会导致value.c中的断言失败)
  • PR c ++ / 15519(GDB 7.6比使用某个核心文件的GDB 7.5.1慢94倍)
  • PR gdb / 15837(GDB打印局部变量的条目值)
  • PR gdb / 15415(gdb在传递argv [0]时解析符号链接)
  • PR cli / 15603(CTRL-C不能再中断)
  • PR gdb / 15604(gdbserver socket leak 7.5 regression)

7.5版中的新功能

  • 转到语言支持。
  • 新目标(x32 ABI,microMIPS,瑞萨RL78,HP OpenVMS ia64)。
  • 更多Python脚本改进。
  • SDT(静态定义跟踪)探针支持SystemTap探针。
  • GDBserver改进(stdio连接,断点条件的目标端评估,远程协议改进)。
  • 其他杂项改进(加载/卸载共享库时停止的能力,动态printf等)。
  • ARM上的反向调试。
  • 二进制“gdbtui”已被遗弃,无法再建造。使用“gdb -tui”代替。

7.4版中的新内容

  • 现在可以更加一致地处理不明确的linespec。
  • 现在,当使用“跳过功能”踩踏时,可以跳过不感兴趣的功能和文件。和“跳过文件”命令。
  • 添加了用于设置和获取远程目标硬件观察点的最大长度限制的命令。
  • Python脚本大大改进。
  • 进行了许多其他改进,错误修正和一般更改。

7.1版中的新功能

  • 支持新目标(包括模拟器):
  • Xilinx MicroBlaze
  • Renesas RX
  • 主要新功能包括:
  • 多程序调试,允许调试器控制
  • 以上
  • 同一GDB会话中的一个程序。
  • 位置独立可执行(PIE)调试。
  • 它还具有许多增强功能和错误修复功能,包括:
  • Python支持已得到扩展。
  • C ++支持改进(命名空间,强制转换操作符,错误修复)
  • Tracepoint支持改进。
  • 流程记录改进(保存/恢复执行日志,硬件
  • 观察点支持)。
  • 远程协议增强功能(Linux内核调试,新数据包
  • for tracepoint support)

类似的软件

Fenris
Fenris

3 Jun 15

D-Feet
D-Feet

29 Nov 17

dprintf
dprintf

20 Feb 15

显影剂的其他软件 Stan Shebs

Xconq
Xconq

2 Jun 15

意见 GDB

评论没有发现
添加评论
打开图片!