美文网首页读书笔记
GDB学习笔记(1)

GDB学习笔记(1)

作者: Lmmmmbbb | 来源:发表于2016-10-04 18:57 被阅读53次

最近通过《软件调试的艺术》学习GDB,书刚读了大概三分之一,这里先记一些笔记
:-)

缩写

short full
b break
i b info break
c continue
r run
at attach
s step
n next
p print
bt backtrace

基本操作

断点

b position
position可以是 filename:line filename:function
filename可以不指明,gdb总有一个焦点文件,刚启动时焦点文件是main函数所在的文件,当程序运行时,焦点文件是当前执行代码所在的文件,也可以通过 list filename:functionname来设定焦点。

断点命令:

command breakPointNumber,对编号为breakPointNumber的断点设置命令,以end结尾,执行到此断点时,命令会执行,比如打印变量:

printf(“at break point 3,
           i = %d,j = %d,k = %d\n”,
           i,j,k) //括号可有可无

一些命令,感觉用处不大。。。

  • define 定义宏,可带最多十个参数  
    
    define PRINT_AND_GO
    xxxxx(说明)
    >printf   $arg1,$arg0
    >continue
    >end
    
-    `show user` :   列出所有宏  
-    `silent` :    不输出信息  
          
## 监视点
wathc `value`  
watch `expession`  
`expression`是 **当前程序语言风格** 的条件表达式,比如 (i>0)&&(j==2)  
当`value`变化或`expression`成立时,程序中断。  
设置监视点时必须保证监视变量在当前程序指针所在位子有效,即对已局部变量,必须保证程序指针停留在局部变量所在函数,所以一般在要函数入口处加一个断点,然后才能设置函数内变量的监视点。  
##条件断点
- 设置条件断点  
   b  `position`  if  (`expression`)  
   `expression`外的括号可有可无  
- 将已有断电设置为条件断点  
   condition `breakPointNumber` if (`expression`)  
   `breakPointNUmber`用 info breakpoint(i b)查看  
   
   
## 继续执行  
-    c/continue 继续执行到下个断点  
-    fin/finsh  继续执行到此函数结束
-    u/until    继续执行到循环结束 
*当然,断点对 `fin/u` 依然有效*
*u 可带位置参数:u `position` * 
-    s/step     执行下一条语句,会进入函数  
-    n/next     执行下一条语句,不会进入函数  
*s/n可带步数参数: s 4*

相关文章

  • GDB学习笔记(1)

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

  • GDB学习笔记

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

  • GDB学习笔记

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

  • GDB学习1

    vsstudio太大了,喜欢上了vscode,但调试功能不尽如人意,可能我不太会配置。但今天遇到了一个内存错误,试...

  • GDB学习笔记(2)

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

  • gdb基础学习笔记

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

  • 2. gdb的使用

    参考链接1. GDB调试2. gdb调试方法3. gdb调试示例 1. 说说 gdb gdb 是一款 UNIX 系...

  • 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学习笔记(1)

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