GDB使用

GDB是Unix/Linux系统的C/C++程序调试工具,它提供了丰富的命令来显示源代码、设置断点、运行和检查程序状态。通过启动GDB并附加到进程,可以方便地进行调试。在调试过程中,可以使用`list`命令显示源代码,`run`和`continue`控制程序执行,以及`break`设置断点。此外,`display`命令用于查看变量值,`info breakpoints`列出断点信息,`backtrace`显示调用栈。GDB还支持调试多进程和多线程程序,尽管这部分内容未详细展开。
摘要由CSDN通过智能技术生成

GDB

GDB

GDB是一个由GNU开源组织发布的、Unix/Linux操作系统下的、基于命令行的的程序调试工具

主要用于方面

  1. 启动你的程序,按照定义的要求运行程序
  2. 让被调试的程序在所指定的断点处停住(断点可以是条件表达式)
  3. 当程序停住时,可检查此时你程序中所发生的事
  4. 可以改变你的程序,修正一个BUG产生的影响,从而测试其他BUG

调试对象

GDB主要来调试C/C++语言写的程序,加上-g选项,会保留代码的文字信息,便于调试

cc -g hello.c -o hello
g++ -g hello.cpp -o hello

在上面的命令行中,参数-o指定编译生成的可执行文件hello,参数-g表示将源代码信息编译到可执行文件

如果不使用参数-g,会给后面的GDB调试造成不便,只能是汇编代码级别的调试/跟踪,没有源代码信息

 

启动 GDB

  1. gdb program

    program也就是执行文件,例如hello.c编译的可执行文件hello

  2. gdb program core

    gdb 同时调试一个运行程序和 core 文件,core是程序非法执行后core dump后产生的文件

  3. gdb pid

    • 如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程IDgdb会自动attach,并调试

    • 可用detach来取消挂接的进程

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值