【Linux学习】GDB调试器基本命令必知必会(一)
本文介绍Linux下GDB调试器常用的基本命令。
测试均在Ubuntu12.10下完成。
先看看GDB调试的效果图:
对应的源代码:
//插入排序,GDB调试测试代码
#include <stdio.h>int x[10],//存放输入数据y[10],//工作空间数组num_inputs,//输入数组长度num_y = 0;//y中当前元素个数//函数
//功能:从参数中提取输入数据
void get_args(int ac,char **av){int i;num_inputs = ac - 1;for(i = 0;i < num_inputs;++i)x[i] = atoi(av[i + 1]);
}//函数
//功能:向右移动工作数组中索引jj及其后面的所有元素
void scoot_over(int jj){int k;for(k = num_y;k > jj;++k)y[k] = y[k - 1];
}//函数:
//功能:插入一个数据
void insert(int new_y){int j;//工作数组为空if(0 == num_y){y[0] = new_y;return;}//将新元素插入到适当位置:第一个比new_y大的元素前面for(j = 0;j < num_y;++j){if(new_y < y[j]){//向右移动y[j]后面的所有元素scoot_over(j);y[j] = new_y;return;}}
}//函数:
//功能:处理所有输入数据
void process_data(){for(num_y = 0;num_y < num_inputs;++num_y)insert(x[num_y]);
}//函数:
//打印结果数据
void print_results(){int i;for(i = 0;i < num_inputs;++i)printf("%d\n",y[i]);
}int main(int argc,char **argv){get_args(argc,argv);process_data();print_results();
}
int main(void)
{int i;i = 3;return 0;
}
如果嫌GDB输出太冗长,可以使用silent命令,只需将其添加到设置的命令列表最开始处即可。
#include <stdio.h>void swap(int *a,int *b){int c = *a;*a = *b;*b = c;
}int main(void){int i = 3;int j = 5;printf("i:%d,j:%d\n",i,j);swap(&i,&j);printf("i:%d,j:%d\n",i,j);return 0;
}
【Linux学习】GDB调试器基本命令必知必会(一)相关推荐
- linux卸载gdb命令,【Linux学习】GDB调试器基本命令必知必会(一)
本文介绍Linux下GDB调试器常用的基本命令. 测试均在Ubuntu12.10下完成. 先看看GDB调试的效果图: 对应的源代码: //插入排序,GDB调试测试代码 #include int x[1 ...
- 【Linux】gdb调试器的使用
All is well that ends well.结果好就是好. 个人主页:阿润菜菜 简介 GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具. Windows 操作系统中,我们更习 ...
- Linux系列学习(二) - Vim编辑器的介绍及使用、文件编译的过程、Makefile工具、Gdb调试器
目录 引言: 基本命令补充: cat命令: man命令: head命令: tail命令: find命令: grep命令: grep命令与管道"|" 的结合使用: ta ...
- Linux调试——gdb调试器的简单使用调试coredump文件
文章目录 一.背景 二.gdb的指令与使用 1.gdb的基本指令. 2.gdb指令的简单使用 1.进入gdb模式 2.实例说明 三.调试coredump文件 前提:本质上是在调试程序崩溃之后的内存镜像 ...
- GDB调试器——GDB调试器简介
以下内容源于C语言中文网的学习与整理,如有侵权,请告知删除. 一.程序调试器的含义 程序中的错误主要分为 2 类,分别为语法错误和逻辑错误. 程序中出现的语法错误可以借助编译器解决:但逻辑错误则只能靠 ...
- Linux菜鸟必知必会的命令集合
下面是我用到过的Linux命令,也可以说是Linux菜鸟必知必会的命令集合,基本上占据了所有你将用到的命令的95%以上,值得一看. 一: Linux下的mysql数据库常用操作 1.登入登出 ...
- GDB调试器使用手册
GDB调试器使用手册 使用GDB: 本文描述GDB,GNU的原代码调试器.(这是4.12版1994年一月,GDB版本4.16) * 目录: * 摘要: ...
- tableau必知必会之VMware 搭建 Tableau Server for Linux 单机环境
tableau10.5版本推出的 Linux 版 Tableau Server,让用户能够将 Tableau 的分析平台与 Linux 的企业级功能实现更好的结合,从而简化部署和管理工作. 很多用户陆 ...
- 【软件开发底层知识修炼】十四 快速学习GDB调试一 入门使用
前面几篇文章学习了链接器相关的内容.现在开始来学习GDB调试.我们的目的是通过这几篇文章将GDB调试完全学会. 文章目录 1 为什么需要GDB 2 GDB 的常规应用 3 GDB调试程序实例 4 总结 ...
最新文章
- 每个人都应该懂点函数式编程
- [国嵌攻略][080][无名管道通讯]
- 24.指针和引用的区别
- 深入浅出HTTPS工作原理
- docker 学习笔记(未完)
- linux运维中的中间件,linux中间件Nginx的安装过程
- Android Studio调试功能使用总结【转】
- ear的英语怎么念_Dog是“狗”,ear是“耳朵”,Dog ear真不是“狗耳朵”
- java 错误页_《javaweb学习笔记2-jsp错误页设置》
- codemirror TAB 缩进问题记录
- 【只推荐一位】推荐一位资深Python爱好者,现任世界500强架构师
- 【CF1312D】Count the Arrays(计数)
- opengl超级宝典(第5版)的环境搭建
- 如何使用IDEA自带的数据库连接工具连接达梦数据库,IDEA连接DM(达梦)数据库
- Windows网络编程之send()函数
- WPS Office 2016 专业版终身授权正版
- android 放大镜功能,简单实现Android放大镜效果
- Python构建投资模型(1)——从天天基金网爬数
- Spatial Transformer Networks(STN)理解
- ffmpeg flv转MP4
热门文章
- 6D位姿估计算法Densefusion代码阅读
- 03 | AI 术语:让你变得更加专业
- resultset遍历取数据_数据放在哪?如何从数据库取数据?
- ironpython2.7.8相当于python3.7吗_IronPython与numpy的Python速度之比较
- Nodejs框架+uniapp前端微商个人相册多端小程序源码
- 飞机大战HTML5游戏源码,基于Canvas制作的网页版飞机大战游戏+飞机大战手机端
- 《Nodejs入门》一书中存在的问题分析[转]
- Interlocked..::.Add 方法
- 使用一个程序同时启动多个程序(c#)
- MySQL 查询时强制区分大小写