美文网首页
GDB学习笔记

GDB学习笔记

作者: 闫正阳 | 来源:发表于2017-09-18 01:18 被阅读16次

gdb

GDB是一个强大的linux下的程序调试工具
其使用过程如下:

debug方式编译

在编译前加上 -g

gcc test.c -g -o test

通过gdb启动程序

gdb test

为代码添加断点

在gdb 命令模式下 (gdb):

  • list [n] 可以显示从n到n+10行的代码 ->l

  • break [n] 给第n行添加一个断点 ->b

  • break [func name] 给函数func入口设置断点

  • break if <condition> 设置条件断点

  • delete [i] 删除第i个断点

  • info break 显示断点信息

      (gdb) b 8
      Breakpoint 1 at 0x40053d: file test.c, line 8.
      (gdb) b func
      Breakpoint 2 at 0x40052d: file test.c, line 5.
      (gdb) b 20
      Breakpoint 3 at 0x40056c: file test.c, line 20.
      (gdb) info break
      Num     Type           Disp Enb Address            What
      1       breakpoint     keep y   0x000000000040053d in func at test.c:8
      2       breakpoint     keep y   0x000000000040052d in func at test.c:5
      3       breakpoint     keep y   0x000000000040056c in main at test.c:20
    
  • run 运行程序 -> r

  • watch <expr> 观察点

      Hardware watchpoint 4: i>50
    
      Old value = 0
      New value = 1
      0x0000000000400547 in func (n=250) at test.c:6
    

在运行过程中:

  • next 单步运行 ->n

  • step 单步进行 ->s

  • print [x] 打印变量x的值 ->p

      (gdb) p i
      $25 = 51
    
  • backtrace 查看调用的函数堆栈 ->bt

      (gdb) bt
      #0  0x0000000000400547 in func (n=250) at test.c:6
      #1  0x000000000040059a in main () at test.c:24
    

相关文章

  • GDB学习笔记

    gdb GDB是一个强大的linux下的程序调试工具其使用过程如下: debug方式编译 在编译前加上 -g 通过...

  • GDB学习笔记

    本文介绍使用gdb调试程序的常用命令。 简介 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。如果...

  • GDB学习笔记(1)

    最近通过《软件调试的艺术》学习GDB,书刚读了大概三分之一,这里先记一些笔记:-) 缩写 基本操作 断点 b po...

  • GDB学习笔记(2)

    这部分是关于GDB变量设置和程序崩溃处理。 gdb有方便变量,可以用来跟踪一些指针变量,或控制调试过程,但是感觉实...

  • gdb基础学习笔记

    0. 前言 自古调试分两派,printf直接输出派 和 gdb调试派。 printf派直观暴力,但不全面。 gdb...

  • linux Vim gcc gdb 等配置

    vim配置将vim打造成c++编译器CentOs下安装gcc/g++/gdbcentos学习笔记--gdb调试部分...

  • Linux内核编译运行和调试

    这一篇是关于linux内核源码下载,编译,运行,调试(搭建Qemu+gdb和Eclipse)的相关学习笔记。操作系...

  • [GDB]断点(breakpoint )条件断点:break b

    使用书籍与相关笔记 [书籍]《软件调试的艺术》(《 The Art of Debugging with GDB, ...

  • [GDB]断点(breakpoint )命令列表:command

    使用书籍与相关笔记 [书籍]《软件调试的艺术》(《 The Art of Debugging with GDB, ...

  • [GDB]断点(breakpoint )设置:break

    使用书籍与相关笔记 [书籍]《软件调试的艺术》(《 The Art of Debugging with GDB, ...

网友评论

      本文标题:GDB学习笔记

      本文链接:https://www.haomeiwen.com/subject/polvsxtx.html