GDB 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
GDB 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
GDB 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
GDB 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
GDB 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 GPL
开发语言 C/C++
操作系统 Linux
软件类型 开源软件
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2009-03-18

软件简介

GDB(GNU symbolic debugger)是 GNU Project 调试器,它使你可以查看另一个程序在“执行”期间正在执行的操作–或该程序崩溃时正在执行的操作。

GDB 可以做四种主要的事情(以及支持这些事情的其他事情)来帮助你捕获行为中的错误:

  • 启动你的程序,并指定可能影响其行为的所有内容。
  • 使程序在指定条件下停止。
  • 检查程序停止时发生的情况。
  • 更改程序中的内容,以便你可以尝试纠正一个错误的影响,然后继续学习另一个错误。

这些程序可能与GDB(本机)在同一台计算机上执行,在另一台计算机(远程)上或在模拟器上执行。GDB可以在大多数流行的UNIX和Microsoft Windows变体以及Mac OS X上运行。

展开阅读全文

评论 (0)

加载中
更多评论
09/14 07:02

GDB 11.1 正式发布

GNU 调试器 GDB 11.1 现已发布。GDB 是 Ada、C、C++、Go 与 Rust 等源代码级调试器语言,它可以在最流行的 GNU/Linux、Unix 和 Windows 变体上运行,并且调试十几种不同的处理器架构。 主要更新内容 已删除对 ARM Symbian (arm*-*-symbianelf*) 的支持 构建 GDB 现在需要 GMP(GNU 多精度算术库) 新的命令行选项 "--early-init-command"(或 "-eix")和 "--early-init-eval-command"(或 "-eiex") GDB/MI 更改: "-break-inse...

1
2
发表了资讯
04/27 07:14

GDB 10.2 正式发布

GNU 调试器 GDB 10.2 发布。GDB 是 Ada、C、C++、Go 与 Rust 等源代码级调试器语言,它可以在最流行的 GNU/Linux、Unix 和 Windows 变体上运行,并且调试十几种不同的处理器架构。 主要更新内容 AddressSanitizer: remote_async_inferior_event_handler 中 extended_remote_target 的堆在使用后释放 修复内部错误: void target_mourn_inferior(ptid_t): assert `ptid == inferior_ptid' 失败。操作系统:Mac OSX Catalina;编译...

3
1
发表于开发技能专区
2020/10/25 11:54

GNU 调试器 GDB 10.1 发布

GNU 调试器 GDB 10.1 发布。GDB 是 Ada、C、C++、Go 与 Rust 等源代码级调试器语言,它可以在最流行的 GNU/Linux、Unix 和 Windows 变体上运行,并且调试十几种不同的处理器架构。 此版本更新内容包括: 支持新的调试目标 - BPF (bpf-unknown-none) GDBserver 支持以下目标 - ARC GNU/Linux - RISC-V GNU/Linux 多目标调试支持(实验性) 支持 HTTP 服务器 debuginfod,用于分发 ELF / DWARF 调试信息以及源代码 支持使用 64 位...

1
2
发表于软件架构专区
2019/05/12 07:22

GNU 调试器 GDB 8.3 发布

GNU 调试器 GDB 8.3 发布了。GDB 是 Ada、C、C++、Go 与 Rust 等源代码级调试器语言,它可以在最流行的 GNU/Linux、Unix 和 Windows 变体上运行,并且调试十几种不同的处理器架构。 此版本更新内容包括: 支持新的原生配置(同时可作目标配置): RISC-V GNU/Linux (riscv*-*-linux*) RISC-V FreeBSD (riscv*-*-freebsd*) 支持新的目标配置: CSKY ELF (csky*-*-elf) CSKY GNU/Linux (csky*-*-linux) NXP S12Z ELF (s12z-*-elf...

0
6
发表于开发技能专区
2018/02/01 08:01

GDB 8.1 发布,程序调试利器

GDB 8.1 发布了。GDB(GNU symbolic debugger)是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 主要更新内容如下: C ++函数的断点现在默认设置在所有的作用域上(“wild”匹配) 支持在标有 C ++ ABI 标签的函数上插入断点 在表达式评估过程中加入目标浮点算法模拟(需要MPFR 3.1或更高版本) 各种Python脚本增强 改进 Rust 支持,现在可以在调试 Rust 代码时检查 Trait 对象 更多内容请查看发布说明 下载地址...

1
6
发表了资讯
2017/06/06 08:01

GDB 8.0 发布,程序调试利器

GDB 8.0 发布了。GDB(GNU symbolic debugger)是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 此版本包括 Python 脚本增强,DWARF 5 支持,GDB/MI 增强等。详细更新内容可以查看发布说明,旧版本内容请看这里。 下载地址: http://www.gnu.org/software/gdb/download/

8
4
发表了资讯
2016/10/11 00:00

GDB 7.12 发布,程序调试利器

GDB 7.12 发布了。 更新内容:  * New target support: Andes NDS32 (nds32*-*-elf)  * Rust: Debugging programs written in Rust is now supported.  * Fortran: Support structures with fields of dynamic types and    arrays of dynamic types.  * Various Python enhancements (new convenience functions,    enhanced support for breakpoints).  * Various GDB...

3
11
发表了资讯
2016/02/25 00:00

GDB 7.11 发布,程序调试利器

GDB 7.11 发布了,该版本值得关注的改进记录包括: * Per-inferior thread numbers (thread numbers are now per inferior instead   of being global). * GDB now allows users to specify breakpoint locations using a more   explicit syntax (named "explicit location").  This feature is also   available in GDB/MI. * New convenience variables ($_gthread, $_infer...

12
20
发表了资讯
2015/08/31 00:00

GDB 7.10 发布,支持 ARM64 系统反向调试

GDB 7.10 发布,此版本能更好的支持远程任务共享库的访问;ARM64 系统反向调试支持;支持 DTrace 静态探测等等,详细改进请看发行说明。 下载:ftp://ftp.gnu.org/gnu/gdb/gdb-7.10.tar.gz GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 象所有的调试器一样,GDB可以让你调试一个程序,包括让程序在你希望的地方停下,此时 你可以查看变量,寄存器,内存及堆栈。更进一...

4
11
发表了资讯
2015/02/21 00:00

GDB 7.9 发布,程序调试器

GDB 7.9 发布,此版本改进了 Python 脚本 API;可以在调试程序中编译和注入代码;改进信号处理等等。 via LWN GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 象所有的调试器一样,GDB可以让你调试一个程序,包括让程序在你希望的地方停下,此时 你可以查看变量,寄存器,内存及堆栈。更进一步你可以修改变量及内存值。GDB是一个功能很强大的调试器,它可以调试多种语言...

2
11
发表了资讯
2014/07/31 00:00

GDB 7.8 发布,程序调试器

GDB 7.8 发布,此版本支持 Guile 语言的脚本;更好的 Python 脚本;支持在 little-endian PowerPC64 系统调试;能处理 C99 可变长度数组等。 GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 象所有的调试器一样,GDB可以让你调试一个程序,包括让程序在你希望的地方停下,此时 你可以查看变量,寄存器,内存及堆栈。更进一步你可以修改变量及内存值。GDB是一个功能很强...

5
15
发表了资讯
2014/02/07 00:00

GDB 7.7 发布,程序调试工具

GDB 7.7 发布了,该版本改进了 Python 脚本支持,包含一些新的命令,支持新的目标等。详细介绍请看这里。 GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 象所有的调试器一样,GDB可以让你调试一个程序,包括让程序在你希望的地方停下,此时 你可以查看变量,寄存器,内存及堆栈。更进一步你可以修改变量及内存值。GDB是一个功能很强大的调试器,它可以调试多种语言。在...

5
28
发表了资讯
2013/04/29 00:00

GDB 7.6 发布,支持 64 位的 ARM 系统

GDB 7.6 增加对 64 位 ARM 系统的支持,更新了 C++ ABI 到 GNU v3 版本,一些 Python 脚本的改进,新增一些很多新参数等等。 GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 象所有的调试器一样,GDB可以让你调试一个程序,包括让程序在你希望的地方停下,此时 你可以查看变量,寄存器,内存及堆栈。更进一步你可以修改变量及内存值。GDB是一个功能很强大的调试器,它可...

1
9
发表了资讯
2012/08/19 00:00

GDB 7.5 发布,支持 Go 语言

GDB 调试器发布了 7.5 版本,该版本最主要是增加对 Google Go 编程语言的支持,新增很多 targets(包括 x32 API),更好的 SystemTap 集成,ARM 的反向调试等。 GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 象所有的调试器一样,GDB可以让你调试一个程序,包括让程序在你希望的地方停下,此时 你可以查看变量,寄存器,内存及堆栈。更进一步你可以修改变量及内存值。...

7
10
发表了资讯
2012/01/25 00:00

GDB 7.4 发布,程序调试工具

GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 GDB 7.4 包含一个 Renesas RL78 仿真器,一些 Python 脚本的提升,增加了许多新的调试命令和选项等等。

0
3
发表了资讯
2011/08/26 00:00

GDB 7.3a 发布,程序调试工具

GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 Changes: 1. GDB now understands thread names. 2. The commands "thread name" (to assign a name) and "thread find [REGEXP]" (matching name, target ID, or extra information) were added. 3. Python scripting support was vastly enhanced. 4. In C++ support, exception handling was improved, and template...

1
2
发表了资讯
2010/09/06 00:00

GDB 7.2 发布,程序调试器

GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 该版本改进记录: 1. 支持 D语言 2. C++ 改进,支持参数依赖查找ADL,静态常量类成员和改进了用户自定义操作符的支持 3. Python 调试的改进,包括断点、符号、符号表、程序空间、线程等可通过命令行进行操作 4. Furthermore, enhancements were made for tracepoints and for GDBserver. 5. 支持 ARM Symbian 平台 6. 其...

1
3
发表了资讯
2010/03/19 00:00

GDB 7.1 发布,程序调试工具

GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 象所有的调试器一样,GDB可以让你调试一个程序,包括让程序在你希望的地方停下,此时 你可以查看变量,寄存器,内存及堆栈。更进一步你可以修改变量及内存值。GDB是一个功能很强大的调试器,它可以调试多种语言。在此我们仅涉及C和C++ 的调试,而不包括其它语言。 详细改进内容: Multi-program debugging support; Pos...

1
0
发表了资讯
2009/12/29 00:00

程序调试工具 GDB 7.0.1 发布

GDB(GNU symbolic debugger)简单地说就是一个调试工具。它是一个受通用公共许可证即GPL保护的自由软件。 新版本修正了 7.0 版本的一些严重的堆栈溢出bug,这些bug可能导致 GDB 调试进程中断,修正了在 FreeBSD 和 IRIX 系统下无法编译的问题,增加了对 Thumb2调试的支持,还有其他一些小bug的修复。 下载地址: http://www.gnu.org/software/gdb/download/...

0
0
发表了资讯
2009/10/08 00:00

GNU Debugger 7.0 发布

GNU软件除错器GNU Debugger(GDB)正式发布了7.0版。 GDB能为多种不同处理器架构上运行的软件进行除错,支持的语言有Ada、C、C++、Objective-C、Pascal等。新的版本增加了更多新平 台支持、新特性,增强和bug修正。新特性包括Python脚本支持;反向调试,过程记录和回放;non-stop调试;多架构调试;多进程调试等。 下载。

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2015/02/12 13:50

gdb

gdb -p pid --batch | ex "c" | ex "bt" *.c:2222 gdb ./ceph-mon set args -i xhs-dev //--------------------------------------------------- . 默认设置下,在调试多进程程序时GDB只会调试主进程。但是GDB(>V7.0)支持多进程的分别以及同时调试,换句话说,GDB可以同时调试多个程序。只需要设置follow-fork-mode(默认值:parent)和detach-on-fork(默认值:on)即可。 follow-fork-mode detach-on-fork 说明 parent on 只调...

0
0
发表了博客
2019/07/01 23:17

6.18-gdb,ros and roslaunch with gdb

参考 前言 gdb学习 使用要点 ROS node debug with gdb(使用gdb调试ROS节点) roslaunch 学习和调试 实例:调试ROS项目TOC 参考 《ROS机器人程序开发》 《嵌入式Linux开发基础知识》 roslaunch wiki 前言 这是必须学习的技能,但是不需要精通,应该利用更高层的工具 在ROS项目开发过程中应用,在使用roslaunch过程中应用gdb 在CLion,VSCode使用过程中应用调试功能 gdb学习 是一个用来调试C/C++程序的强力调试器,常用功能有:监...

0
0
发表了博客
2016/04/15 14:54

[GDB]使用gdb查看内存

一、使用gdb查看内存 命令: x /nfu x 是 examine 的缩写 n表示要显示的内存单元的个数 f表示显示方式: x 按十六进制格式显示变量 d 按十进制格式显示变量 u 按十进制格式显示无符号整型 o 按八进制格式显示变量 t 按二进制格式显示变量 a 按十六进制格式显示变量 i 指令地址格式 c 按字符格式显示变量 f 按浮点数格式显示变量 u表示一个地址单元的长度 b 单字节 h 双字节 w 四字节 g 八字节 例子: x /1dw address 从内存地址add...

0
0
发表了博客
2011/07/22 09:08

Debugging with GDB 用GDB调试多线程程序

Debugging with GDB http://www.delorie.com/gnu/docs/gdb/gdb_25.html GDB调试多线程程序总结 一直对GDB多线程调试接触不多,最近因为工作有了一些接触,简单作点记录吧。 先介绍一下GDB多线程调试的基本命令。 info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。 thread ID 切换当前调试的线程为指定ID的线程。 break thread_test.c:12...

0
3
发表了博客
2013/11/13 18:47

GDB调试

terminate called after throwing an instance of 'serialization::SerializationException' what(): error geometry typeANHUI GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。 一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 3、当程序被停住时,可以检查此时你的程序...

0
11
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2019/03/12 18:01

ffmpeg解码linux系统死机

上图就是在死机的时候系统的最后打印页面,使用intel_gpu_top查看gpu的显存,也并未使用完,系统内存还有大量剩余,cpu利用率也不高.但是只要出现此情况,其他电脑ping这台主机是ping不通,切系统无法再进行任何操作,只能重启解决。 开始怀疑是自己编译ffmpeg的时候开启了汇编加速导致,后来把汇编加速关闭,也偶尔出现了系统死机的情况。应该不是汇编加速导致的。 另外此问题出现的时候并不是立即出现的,而是解码一段时间后出...

3
0
发表了问答
2015/05/05 15:37

gdb调试程序warning: no loadable founded in..

linux 下  gdb 调试程序的时候 run 之后 出来警告  warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000 网上好像没提及这个问题!究竟背后隐藏着什么请大侠赐教啊!

1
0
2019/03/07 13:46

gdb调试C++的疑问

这是hotspot的源码,我在用gdb调试的时候如何进入createjavavm函数里面查看它的逻辑

2
0
发表于服务端专区
2019/02/19 22:15

如何通过gdb来发送socket信息

想模拟一下这种场景 socket client ==> socket server : 10011 当client ip变化的时候的这个socket的表现 (办公网络 无固定公网IP IP会时不时的变化) 实现步骤: 1. ssh socket server 执行如下命令 创建了一个Socket服务端 往客户端发送信息 # nc -lkp 10011 s1 s2 s3 ... 2. Java Socket客户端不停地读取服务端的输出 此时服务端执行lsof 可知客户端的公网IP是114.246.74.218 # lsof -i:10011 COMMAND PID USER FD...

6
0
发表了问答
2011/09/01 20:46

能否在一个线程中创建新线程?

我在主线程A中创建了非分离状态的线程B,在线程B中循环创建若干个分离状态的线程C,但是没有一个线程C能执行(之前还能执行两三个,现在一个都执行不了),在GDB下当输入 info thread时,分离状态的线程都显示 X Thread xxxxxxxx (LWP xxxxx) 0xffffe002 in ?? () 请问这是否正常?求教育~~

14
1
发表了问答
2012/05/17 14:12

gdb如何远程调试正在运行的进程

求高手指点啊

3
0
发表了问答
2016/12/14 17:14

大神们,大家都怎么调试.so库,strace、objdump、valgrind、kprobes、jprobes等等这些检测工具怎么检测.so库呢?

大家都怎么调试.so库呢,gdb怎么调试.so呢?大家调试.so库用什么工具,strace、objdump、valgrind、kprobes、jprobes等等这些检测工具怎么检测.so库呢?

2
0
发表了问答
2011/07/23 08:54

如何在gdb调试中打印出整个链表的节点?

如题,在gdb调试中,怎样才能将链表的信息一次都打印出来。否则一个一个打印是很慢的....求解

6
0
发表了问答
2016/12/01 18:02

gdb在eclipse远程调试时,自己写.gdbinit完后,执行load命令,出现you can't do that when your target is exec'。有木有大神遇到过啊

gdb在eclipse远程调试时,自己写.gdbinit完后,执行load命令,出you can't do that when your target is exec'。有木有大神遇到过啊

1
0
发表了问答
2015/12/29 14:05

编译优化级别问题 -o2?

问题描述 生产主机上程序出现了core,因为是 -o2优化, 无法 pint打印全局或者局部变量信息, 你们是如何定位的

5
0
发表了问答
2016/09/05 20:34

求解gcc编译链接汇编和c++代码找不到引用的问题

汇编代码文件如下: section .bss section .data section .text global _gettsc _gettsc: rdtsc rol rdx,32 or rdx,rax mov rax,rdx ret C/C++代码文件如下: #include <stdio.h> extern unsigned long _gettsc(); int main() {   unsigned long count = _gettsc();   return 0; } 如果c++代码文件命名为.cpp则按照C++去编译链接会报错: nasm -f elf64 -F stabs -Ox standerd.asm -o standerd.asm.o make: Circular standerd....

6
0
发表了问答
2015/08/18 19:04

工作中,在linux平台怎么开发软件?

RT,我是一名刚入门学习c语言的新人,网易云课堂里面老师是选择的dev-c++作为学习工具使用的。自己也特意查了一下,linux下面的gcc+gdb的使用,感觉很麻烦啊。因为全都是在终端完成的,界面首先就很乱,gcc好像不会显示全部的编译信息,比如一些warning(好像可以加选项解决)。特别是在调试的时候dev-c++很容易选择断点,不用记行数,可以同时很方便地查看代码可以查看CPU窗口,这些要是在终端里面显示的话(我也不知道能不能把...

22
0
发表了问答
2015/12/18 15:45

gcc gdb 调试出现的奇怪现象,有遇到过的吗?

450 tmpquestlist = pqlist; (gdb) n 454 sendbuflen = panaddr - psb; (gdb) 452 memcpy(psb, prb, sizeof(MHEAD_T) + tres.qlen); (gdb) 454 sendbuflen = panaddr - psb; (gdb) 455 while(tmpquestlist) (gdb) 454 sendbuflen = panaddr - psb; (gdb) 457 //¸謇囈ݽs²ꑯ (gdb) display sendbuflen 4: sendbuflen = 34 (gdb) n 460 tmprrslist = data; 4: sendbuflen = 34 (gdb) 源码是: 450 tmpquestlist = pqlist; 451...

2
0
发表了问答
2016/07/12 14:31

大家好,最近遇到一个麻烦不知道大家有没有见过,如下:​

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x20027823210 (LWP 13841)] Cannot access memory at address 0x80000a9a8 (gdb) where Cannot access memory at address 0x80000a9a8 每次程序运行到这儿都会这样的错误, bt 没有提示信息...

2
0
发表了问答
2016/07/13 19:13

跪求大神解决gdb调试结构体的问题

我在linux下gdb调试的时候老出现如下的问题,但是程序可以执行通过。运行有错误,一直在解决,头都炸了,求大家帮帮忙 打印parm是Parmeter定义一个变量。gdb地下我查看结构体的成员变量,发现只有manager和process_this这两个变量,但是pipe_fd变量我想查看一下,就直接显示There is no member name pipe_fd,很是郁闷啊,谁能告诉我这是为什么???...

5
0
发表了问答
2016/06/11 17:05

gdb调试提示:Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.192.el6.i686

gdb调试提示:Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.192.el6.i686 网上看了好多答案,都是如下解决方法: 但是我没有CentOS-Debuginfo.repo这个文件,请问还有其他解决办法吗,或者说谁的centos有这个文件麻烦共享下,谢谢!

3
0
发表了问答
2016/02/17 17:15

这不是bug。。。

这不是bug。。。 nbz@bogon 1]$ ls a.cc [nbz@bogon 1]$ cat -n a.cc 1 #include <iostream> 2 class myint { char m1[7]; }; 3 main(){ myint i1, &i2 = i1; 4 std::cout << sizeof i2 << std::endl; 5 return sizeof i2; 6 } [nbz@bogon 1]$ make a CXXFLAGS=-g g++ -g a.cc -o a [nbz@bogon 1]$ ./a 7 [nbz@bogon 1]$ gdb a Reading symbols from /tmp/1/a...done. (gdb) b main Note: breakpoint 1 also set at pc 0x4007e...

4
0
发表了问答
2014/03/14 09:58

cgdb 不能调试c++代码,为什么?

我的系统是ubuntu12.04 gdb 版本为 7.7 cgdb版本为0.6.5 运行到cin时程序就卡住了。。。。

2
0
发表了问答
2015/12/04 22:15

linux GDB调试c语言网络程序

比如一个服务器程序在跑,我的broswer程序也在跑,但是怎么在gdb下调试啊? 我记得首先要ps查看一下pid 然后好像attach一下 但是不是很清楚

3
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
93 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部