启动gdb

  1. gcc a.c b.c c.c -o app -g , -g: 会保留函数名和变量名

  2. gdb 可执行程序的名字, 例: gdb app

  3. 若程序是需要参数的, 则 set args xxx xxx, 例: 先启动gdb app, 然后set args xxx xxx

  4. 查看代码 l/list

    当前文件: l [空/行号/函数名]

    非当前文件: l 文件名:[行号/函数名]

    设置显示的行数: set listsize, show listsize

设置断点

b/break [文件名:]n/函数名, n是行号, 可以设置文件名

i b查看所有断点

del/d num[num1-num2] 删除断点

dis num 使断点失效

enb num 使断点恢复

b n if xxx 条件断点

调试

start 运行一行, 停止

run/r 停在第一个断点的位置

p 变量名 打印变量的值

ptype 变量名 打印变量的类型

next/n 向下单步调试, 不进入函数体

step/s 向下单步调试, 进入函数体,

finish 退出函数体

  • 如果出不去, 看是否函数体中的循环是否有断点

continue/c 运行到下一个断点处

q/quit 退出调试

display 变量名 自动显示变量名

undiplay num 去掉变量的自动显示, num为变量的编号

until 从循环体跳出, 注意循环体不含有断点

set var 变量名=value 直接设置变量的某一个值

Linux编程(7)_gdb相关推荐

  1. Linux编程题:信号量同步三进程依次打印若干次ABC

    三个进程依次打印ABC..... 思路及大致流程如下: 思路取自这位大哥: Linux编程题:创建3个线程分别打印abc,用信号量进行同步_cleverlemon的博客-CSDN博客 这位大哥写的是线 ...

  2. linux编程取消wait函数,Linux编程基础之进程等待(wait()函数).pdf

    Linux编程基础之进程等待(wait()函数) 编程过程中,有时需要让一个进程等待另一个进程 ,最常见的是父进程等待自己的子进程 ,或者父进程回收自己 的子进程资源包括僵尸进程.这里简单介绍一下系统 ...

  3. Linux 编程经典书籍推荐

    成为一名精通 Linux 程 序设计的高级程序员一直是不少朋友孜孜以求的目标.根据中华英才网统计数据,北京地区 Linux 程序员月薪平均为 Windows 程序员的 1.8 倍.Java 程序员的 ...

  4. linux的编程命令,linux编程常用命令

    学习linux编程最基本的就是要掌握常用的编程命令,下面由学习啦小编为大家整理了linux编程常用命令相关知识,希望大家喜欢! linux编程常用命令1.编译应用程序 make -f makefile ...

  5. Linux 编程中的API函数和系统调用的关系【转】

    转自:http://blog.chinaunix.net/uid-25968088-id-3426027.html 原文地址:Linux 编程中的API函数和系统调用的关系 作者:up哥小号 API: ...

  6. 学习Unix/Linux编程要学些什么

    最近利用空余时间看了一下<Unix/Linux编程实践教程>,原书名为:Understanding Unix/Linux Programming: A Guide to Theory an ...

  7. Linux编程下open()函数的用法

    Linux编程下open()函数的用法 open(打开文件)  相关函数:  read,write,fcntl,close,link,stat,umask,unlink,fopen 表头文件 : #i ...

  8. 嵌入式linux内核oops,Linux编程时遇到Oops提示该如何排查?

    各位工程师在Linux下开发程序时,有没有遇到由于系统中存在某些小故障而跳出了"Oops"提示的情况,此时你是如何排查故障?一行行的查看代码吗?其实不用那么复杂,本文将为你介绍一种 ...

  9. Linux编程获取网络信息总结

    Linux下C获取所有可用网卡信息 在Linux下开发网络程序时,经常会遇到需要取本地网络接口名.IP.广播地址 .子网掩码或者MAC地址等信息的需求,最常见的办法是配合宏SIOCGIFHWADDR. ...

最新文章

  1. 白平衡——图像处理中的一种增强技术
  2. 为什么说GAN很快就要替代现有摄影技术了?
  3. SpringMVC视图解析器
  4. MongoDB 初体验:存储引擎 MMAPv1 与高内存消耗及升级迁移
  5. 没有黑色版本?AirPods 2广告泄露:外型无变化
  6. Java中的秒表-StopWatch
  7. java中的文本框_java里的JTextField文本框怎么设置大小?
  8. 微信Mac版更新:在电脑上刷朋友圈;领英暂停中国境内新用户注册;Git 恶意仓库可以在克隆时执行远程代码 | 极客头条...
  9. 江苏机器人竞赛南航_挑战不止 热血不息!1000余名青少年决战江苏省机器人普及大赛!...
  10. 上班一族“黑话”辞典大曝光
  11. RHEL5 telnet服务 安装配置
  12. Git和码云项目平台使用文档
  13. 如果使用CSS创建表格显示
  14. 52周存钱挑战2.0
  15. tableau public使用形状文件进行数据可视化
  16. 红帽子Linux7安装Oracle,RedHat Enterprise Linux7.0安装Oracle 12C
  17. 蘑菇街2016校园招聘第一个编程题
  18. dmaengine,dmatest, DW_DMAC driver
  19. FOR ALL ENTRIES IN的用法
  20. 强化学习入门项目spinning up(1)安装

热门文章

  1. Linux修改挂载目录名称
  2. memcached操作
  3. 怎样计算一个整数的位数并把每一位上的数字保存下来
  4. iOS-入门HelloWorld
  5. 详解 EnumWindows 与 EnumWindowsProc - 回复 SplendourChiang 的问题
  6. 2018杭州电子科技大学计算机研究生复试笔试编程题第三题
  7. 锋利的Jquery摘要
  8. Scalaz(38)- Free :Coproduct-Monadic语句组合
  9. Cocos2d-x之MenuItem
  10. [HDU 2191] 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活