1-2 编程基础 GDB程序调试
简介
GDB是GNU发布的一款功能强大的程序调试工具。GDB主要完成下面三个方面的功能:
1.启动被调试程序
2.让被调试的程序在指定的位置停住。
3.当程序被停住时,可以检查程序状态(如变量值)。
GDB快速进阶
1.编译生成可执行文件:
gcc -g tst.c -o tst
2.启动GDB
gdb tst
3.在main函数处设置断点
break main
4.运行程序
run
5.单步运行
next
6.继续运行
continue (连续运行 输入 c)
启动GDB
1.gdb 调试程序名
例: gdb helloworld
2.gdb
file 调试程序名
GDB命令
list(1) 查看程序
break(b) 函数名 在某函数入口处添加断点
break(b) 行号 在指定行添加断点
break(b) 文件名:行号 在指定文件的指定行添加断点
break(b) 行号 if条件 当调价为真时,执行那个行号处断点生效,例b 5 if i=10,当i等于10时第5行断点生效
info break 查看所有设置的断点
delete 断点编号 删除断点
run(r) 开始运行程序
next(n) 单步运行程序(不进入子函数)
next(n) 单步运行程序(进入子函数)
continue(c) 继续运行程序
print 变量名 查看指定变量值
finish 运行程序,直到当前函数结束
watch 变量名 对指定变量进行监控
quit 退出gdb
1-2 编程基础 GDB程序调试的更多相关文章
- 1、GDB程序调试
GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具.一般来说GDB主要完成下面四个部分的功能. 1)启动你的程序,可以按照你的自定义的要求运行程序. 2)可让被调试程序在你所指定的调试的 ...
- Linux gcc和gdb程序调试用法 {转}
gcc一般调试格式: gcc -Wall -o test test.c // -wall 显示程序错误详细信息 gcc -v // 显示gcc的版本 gcc -o{1,2,3} t ...
- Linux编程基础——GDB(设置断点)(转:TianFang,cnblog: http://www.cnblogs.com/TianFang/archive/2013/01/20/2868889.html)
启动GDB后,首先就是要设置断点,程序中断后才能调试.在gdb中,断点通常有三种形式: 断点(BreakPoint): 在代码的指定位置中断,这个是我们用得最多的一种.设置断点的命令是break,它通 ...
- Linux编程基础——GDB(设置断点)
启动GDB后,首先就是要设置断点,程序中断后才能调试.在gdb中,断点通常有三种形式: 断点(BreakPoint): 在代码的指定位置中断,这个是我们用得最多的一种.设置断点的命令是break,它通 ...
- GDB 程序调试简单实践
用了好久的GCC/G++ 却一直都没用过GDB调试过程序,有时程序不是非常大,一般有错,直接看编译器编译结果就几乎相同知道错在哪儿了,或者使用codeblocks单步调试,甚至回到windows以下调 ...
- gdb,程序调试助手
启动GDB:(其中我的app是编译之后的可执行文件) 退出命令:quit或者简写q 帮助获取: gdb通过完备的在线帮助,使我们使用起来更加方便.所有的帮助信息都是通过help命令获得的,运行help ...
- 【Linux】GDB程序调试
一.GDB简介 GDB是GNU发布的一款功能强大的程序调试工具.GDB主要完成下面三个方面的功能: 启动被调试程序. 让被调试的程序在指定的位置停住. 当程序被停住时,可以检查程序状态(如变量值) 二 ...
- 1-1 编程基础 GCC程序编译
GCC简介 Linux系统下的gcc是GNU推出的强大.性能优越的多平台编译器,是GNU的代表作之一.gcc可以在多种硬体平台上编译出可执行程序,其执行效率与一般的编译器相比平局效率要高20 ...
- GDB程序调试
GDB使用流程 1.编译生成可执行文件: gcc -g tst.c -o tst2.启动GDB gdb tst3. 在main 函数处设置断点 break main4. 运行程序 run GDB 命令 ...
随机推荐
- 20170407-ms
invoke v调用 dismiss v解雇 exclusive adj. 专用的; 高级的; 排外的; 单独的; n. 独家新闻; 专有物; 独家经营的产品(或项目.设计等); 排外者; ex ...
- Springboot 配置 application.yml 连接MySQL数据库
1.在pom.xml的<dependencies></dependencies>标签中中加入以下依赖 <dependency> <groupId>org ...
- 左耳朵耗子:我对 GitLab 误删除数据库事件的几点思考
参考链接:https://www.infoq.cn/article/some-thoughts-on-gitlab-accidentally-deleting-database 太平洋时间 2017 ...
- pycharm 激活码激活
http://idea.lanyus.com/ 去这个网站获取激活码,输入即可,亲测可用
- redis的安装(图文详解)
我这里,搭建在 继续
- 51Nod 1013 3的幂的和(快速幂+逆元)
#include <iostream> #include <algorithm> #include <string> #define MOD 1000000007 ...
- flask跨域问题
在Flask开发RESTful后端时,前端请求会遇到跨域的问题.下面是解决方法: 使用 flask-cors库可以很容易的解决 1 pip install flask-cors 两种方法,一个是全 ...
- Markdown 简单使用教程
标题: # 一级标题 ## 二级标题 增加星号,字号相应变小,共有6级 列表: - 无序列表 编号. 有序列表 插入链接: [显示文本](链接地址) 插入图片:  引用: > ...
- Zernike矩之图像重建(附源码)
源码下载 参考: [1] Teague M R. Image analysis via the general theory of moments[J]. JOSA, 1980, 70(8): 920 ...
- Linux上不了网——wget无法解析主机
很有可能是网关和域名服务器没有设置 1.设置网关 netstat -rn #查看网关配置情况 [hadoop@slave1 ~]$ route -n Kernel IP routing table D ...