`

Linux系统GDB调试

 
阅读更多

1、GDB调试基本命令
(1)开启调试:gdb filename(启动一个程序来调试)或者attach pid(调试正在运行程序)或者file filename(开启gdb后,然后启动一个程序开始执行)
(2)l(list):查看文件
(3)b 6 | b sum | b 8 if i == 10:设置文件行断点;设置函数断点;设置条件断点
(4)info b:查看断点信息
(5)r(run):运行代码
(6)c(continue):继续运行指导遇到断点或退出程序
(7)n(next):下一步,遇到函数,则跳过函数
(8)s(step):下一步,遇到函数,则进入该函数
(9)delete 断点号:删除指定断点
(10)disable 断点号:停止指定断点
(11)p(print) 变量 | 表达式:查看程序运行时对应表达式和变量的值
(12)display 表达式 | info display | undisplay num:自动显示
(13)x显示内存
(14)bt:显示调用栈
(15)set:设置运行中程序变量的值

2、多线程程序调试
(1)info threads 显示当前可调试的所有线程,每个线程会有一个GDB为其分配的ID,后面操作线程的时候会用到这个ID。 前面有*的是当前调试的线程。
(2)thread ID 切换当前调试的线程为指定ID的线程。
(3)break thread_test.c:123 thread all 在所有线程中相应的行上设置断点
(4)thread apply ID1 ID2 command 让一个或者多个线程执行GDB命令command。
(5)thread apply all command 让所有被调试线程执行GDB命令command。
(6)set scheduler-locking off|on|step 估计是实际使用过多线程调试的人都可以发现,在使用step或者continue命令调试当前被调试线程的时候,其他线程也是同时执行的,怎么只让被调试程序执行呢?通过这个命令就可以实现这个需求。off 不锁定任何线程,也就是所有线程都执行,这是默认值。 on 只有当前被调试程序会执行。
注意在set scheduler-locking on,设置只运行当前线程后,需要c一下,代码才会继续往下执行

分享到:
评论

相关推荐

    Linux下gdb调试工具指南

    ### Linux下gdb调试工具指南:深入解析与实践 #### 引言 在软件开发领域,尤其是对于系统级编程和复杂应用的维护,一个高效、功能全面的调试工具是不可或缺的。GNU调试器(GDB)正是这样一款强大的调试工具,它...

    linux下GDB调试

    ### Linux 下 GDB 调试工具详解 #### GDB 概述 GDB(GNU Debugger)是一款由GNU项目开发的、广泛应用于Unix系统及类Unix系统的强大调试工具。它支持C、C++、Objective-C、Ada以及Pascal等多种语言,并能够通过标准...

    Linux课件:GDB调试简明指南.pdf

    GDB(GNU Debugger)是 Linux 系统中的一款强大调试工具,用于调试 C 和 C++ 程序。它使用户可以在程序运行时观察程序的内部结构和内存的使用情况。GDB 提供了多种功能,如监视程序中的变量值、设置断点、逐行执行...

    linux 使用GDB调试 资料

    总之,Linux下的GDB调试技巧对于任何开发者来说都是必备技能,无论是在排查复杂问题还是优化代码性能方面,都能发挥巨大作用。通过深入学习和实践,你将能够熟练运用GDB解决各类编程挑战。这份"Debug with GDB"的...

    嵌入式Linux GDB调试技术

    嵌入式Linux GDB调试技术是指在嵌入式系统中使用GDB调试程序的一种技术。GDB(GNU Debugger)是一种功能强大且灵活的调试器,可以在各种平台上使用。嵌入式Linux GDB调试技术的主要目的是掌握Linux GDB调试方法和...

    Linux GDB调试文档

    总结来看,一个合格的Linux C/C++后台开发者应该掌握GDB调试技术,利用这一强大的工具来增强开发过程中的问题诊断和解决能力。GDB的版本不断更新,其功能也在不断增强,例如在*.*.*.**版本中,特别强调了对多线程和...

    linux gdb 调试手册

    在Linux操作系统中,GDB(GNU调试器)是一款强大的命令行工具,用于调试C、C++、Fortran、Python等编程语言编写的程序。这款工具允许开发者在运行时检查...阅读《Linux GDB调试手册》将有助于深入理解和应用这些知识。

    linux c gdb 调试工具

    以下是对GDB调试工具的详细讲解。 1. **GDB安装** 在大多数Linux发行版中,可以通过包管理器如`apt`或`yum`来安装GDB。例如,在Ubuntu上可以使用`sudo apt-get install gdb`,在CentOS/RHEL上使用`sudo yum ...

    linux下GDB调试中文文档

    Linux 下 GDB 调试中文文档 GDB 是 GNU 开源组织发布的一个强大的 UNIX 下的程序调试工具。它可以帮助开发者完成四个方面的功能:启动程序、设置断点、检查程序状态、动态改变执行环境。GDB 的强大之处在于它可以...

    Linux/GDB调试实用教程

    GDB(GNU Debugger)是一款功能强大的调试工具,广泛应用于 Linux 和 Unix 等操作系统中。GDB 可以对程序进行调试、执行、检查和崩溃分析等操作,帮助开发者快速定位和解决程序中的错误。 GDB 的命令概貌 GDB 提供...

    linux下gdb调试工具的详细介绍

    ### Linux下gdb调试工具的详细介绍 #### 一、gdb简介 GNU调试器(gdb)是一款功能强大的源代码级调试工具,适用于多种编程语言,包括C、C++等。gdb允许开发者在程序执行过程中设置断点、单步执行、查看变量值以及...

    linux&GDB调试器使用手册中文版

    根据提供的文件信息,以下是关于Linux下的GDB调试器使用手册中文版的知识点: 1. GDB调试器概述: - GDB是GNU下的一个强大的源代码级调试器,它可以用来调试C和C++编写的程序。 - GDB支持其他语言,包括Modula-2...

    GDB调试手册(中文版)

    GDB调试手册是一份非常适合初学者的中文资源,它详尽地介绍了如何使用GDB这一强大的开源调试工具。GDB,全称GNU调试器,是Linux和其他类Unix系统下用于调试C、C++、Objective-C、Fortran等语言编写的程序的工具。...

    linux下GDB调试教程

    ### Linux下GDB调试教程详解 #### 一、GDB简介 GDB(GNU Debugger)是一款强大且功能全面的命令行调试工具,适用于多种UNIX-like系统,包括Linux。与图形界面调试工具相比,GDB提供了更为灵活和深入的调试能力。在...

    用GDB调试程序(整理有书签).pdf

    陈浩的《用GDB调试程序》和守望的个人博客的《GDB调试指南》这两份资料,提供了丰富的实践案例和详细的操作步骤,帮助读者从基础到进阶掌握GDB的使用技巧。通过阅读这些教程,你可以了解如何有效地使用GDB解决实际...

    Linux中GDB调试器常用命令

    ### Linux中GDB调试器常用命令详解 #### 一、简介 GDB(GNU Debugger)是GNU项目下的一款开源调试工具,广泛应用于Linux系统中,用于调试C、C++等语言编写的程序。通过GDB,开发人员可以方便地设置断点、观察变量...

    Linux gdb 调试技术.pptx

    linux下使用gdb调试程序的教程。 详细讲解gdb工具的使用,以及调试技巧等。 linux上常用调试技术: 走读代码 打印日志 /proc/pid/... gdb、dbx strace、ltrace valgrind

    GDB 调试 中文手册

    GDB 调试中文手册 GDB(GNU Debugger)是一款功能强大且广泛使用的 UNIX 下的程序调试工具。它提供了多种功能,包括启动程序、设置断点、观察点和捕捉点、维护停止点、停止条件维护、为停止点设定运行命令、恢复...

    gdb调试 rk可运行程序

    标题"**gdb调试 RK可运行程序**"指出了我们将在AArch64架构上使用GDB来调试针对Rockchip处理器设计的程序。这通常涉及到嵌入式设备或高性能计算平台,因为Rockchip芯片常见于这些领域。在AArch64架构下,GDB的使用...

Global site tag (gtag.js) - Google Analytics