emacs gdb 调试

写下linux下用emacs调用dgb调试的方法

emacs中使用gdb

说明C等价于ctrl          M等价于alt



1,编写 .c函数 test.c



2,gcc一把    看看对不对   带上-g


gcc   -g    -o      test .debug    test.c


如果要用gdb调试器,必须使用g选项。

3,#emacs    //打开emacs(也可以先打开源码进行对照)

     (打开源码 #emacs test.c 然后水平切开窗口 C--x 3)

      M + x   gdb 回车                     //打开gdb

      在gdb中输入file   test.debug //打开文件进行调试

4,list           //列出源码   l 5 则光标显示在第五行

5,b line     //在line行设个断点 delete +点号 可以删除断点 info b 可以查看断点信息

6,run        //执行 到断点处会停下来   p+变量 可以查看变量

7   step      //单步      continue //继续

8   quit      //退出


相关gdb指令

backtrace(或bt)查看各级函数调用及参数

finish 执行到当前函数返回,然后停下来等待命令

frame(或f) 帧编号选择栈帧 info(或i)

locals 查看当前栈帧局部变量的值

list(或l)列出源代码,接着上次的位置往下列,每次列10行

list 行号列出从第几行开始的源代码 list 函数名列出某个函数的源代码

next(或n)执行下一行语句

print(或p)打印表达式的值,通过表达式可以修改变量的值或者调用函数

set var 修改变量的值

start 开始执行程序,停在main函数第一行语句前面等待命令

run(或r)从头开始连续而非单步执行程序

step(或s)执行下一行语句,如果有函数调用则进入到函数

continue(或c)从当前位置开始连续执行程序直到遇到断点

break(或b) 行号在某一行设置断点

break 函数名在某个函数开头设置断点

break...if... 设置条件断点

delete breakpoints 删除断点

display 变量名跟踪查看一个变量,每次停下来都显示它的值

disable breakpoints 禁用断点

enable breakpoints 启用断点 info(或i)

breakpoints 查看当前设置了哪些断点

undisplay 取消对先前设置的那些变量的跟踪

jump
在断点之间跳转

转载于:https://www.cnblogs.com/Edwin-Han/archive/2011/08/21/2147943.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第十九章 趣味编程

第十九章 趣味编程 本章将介绍一些通用的Python编程指南。 为何要有趣 Python有趣的地方之一就是让用户的编程效率非常高效。 极限编程是一种软件开发方法 编程柔术 python的灵活性描述原型设计Python的优点之一是让你能够快速地编写程序。要更深入地了解面临的问题&#…

android按钮在容器下方,使用flex布局解决安卓手机上固定在底部的按钮,在键盘弹起后挡住input输入框的问题...

移动端经常会出现,一个表单里面,确定按钮固定在底部这样的布局,一般会让按钮absolute或者fixed,这样在ios上没有问题,但是在安卓手机上,当表单里面的input输入框获得焦点的时候,按钮会挡在表单上…

dbms支持哪几种数据模型_DBMS中不同类型的数据模型

dbms支持哪几种数据模型资料模型 (Data Model) A data model is a model that defines in which format the data are represented and accessed. Data model mainly defines some of the data elements and relationships that exist between them. 数据模型是定义数据以哪种格…

JS 数组迭代方法

var arr [3,4,5,6,7,"a"]; var isNum function(elem,index,AAA){ return !isNaN(elem);} var toUpperCase function(elem){ return String.prototype.toUpperCase.apply(elem);} var print function(elem,index){ console.log(index"."elem);} /*对数组…

php开源问答_PHP基础知识能力问答

php开源问答This section contains Aptitude Questions and Answers on PHP Basics. 本部分包含有关PHP基础知识的 Aptitude问题和解答。 1) There are the following statements that are given below, which of them are correct PHP? PHP stands for the Preprocessor Hom…

【数据结构基础笔记】【顺序表】

代码参考《妙趣横生的算法.C语言实现》 文章目录前言1、创建顺序表2、顺序表插入元素3、顺序表删除元素4、顺序表实例分析1、静态2、动态5、顺序表总结前言 本章总结:从静态和动态分别进行顺序表的创建、插入、删除、以及实例分析 1、创建顺序表 1、静态地生成一张…

ubuntu安装oracle unzip: No such file or directory

$ln -s /usr/bin/unzip /你的oracle11安装目录/install/unzip$sudo chmod 777 /usr/bin/unzip转载于:https://www.cnblogs.com/qm4050/archive/2011/08/25/2241466.html

一、网络爬虫概述

1,浏览器与网络爬虫的区别 答: 对于浏览器而言:浏览器打开一个网站,会对网站服务器发送一个request请求,服务器收到该请求之后,会给浏览器一个respond响应,该响应携带很多数据,之后…

百度android广告sdk下载,IS_Freedom

美数广告 SDK接入流程1.嵌入广告SDK将 sdk-android-demo/app/libs 中的 meishu-sdk_xxx_release.aar、open_ad_sdk_xxx.aar、Baidu_MobAds_SDK-release-xxx.aar、GDTSDK.unionNormal.xxx.aar、msa_mdid_1.0.13 拷贝到项目的 libs 下,对应的 build.gradle 文件里面添…

关于《加密与解密》的读后感----对dump脱壳的一点思考

偶然翻了一下手机日历,原来今天是夏至啊,时间过的真快。ISCC的比赛已经持续了2个多月了,我也跟着比赛的那些题目学了2个月.......虽然过程很辛苦,但感觉还是很幸运的,能在大三的时候遇到ISCC,不管怎样&…

java vector_Java Vector elements()方法与示例

java vector向量类elements()方法 (Vector Class elements() method) elements() method is available in java.util package. elements()方法在java.util包中可用。 elements() method is used to get an enumeration of the elements that exist in this Vector. elements()方…

【数据结构基础笔记】【链表】

代码参考《妙趣横生的算法.C语言实现》 文章目录前言1、链表基础2、创建一个链表3、插入结点4、删除结点5、销毁链表6、实例分析前言 本章总结:链表的定义、创建、销毁,结点的插入与删除 1、链表基础 链表的物理存储结构是用一组地址任意的存储单元存储…

动态添加,删除行之心理测试系统

动态添加,删除行之考试系统 数据库设计: xl_option 题目选项 20090105134755404(编号) 20090105134904421(外键) 比较符合(选项内容) ②(选项标号) 2(选项分值) xl_subject 题目信息 20090105134943608(编号&#xff…

android bitmap裁剪中间,Android裁剪中心位图

虽然上面的大多数答案提供了一种方法来实现这一点,但已经有一种内置的方法来实现这一点,它是一行代码(ThumbnailUtils.extractThumbnail())int dimension getSquareCropDimensionForBitmap(bitmap);bitmap ThumbnailUtils.extractThumbnail(bitmap, di…

二、request请求库

一、requests介绍与安装 1,requests介绍 答:requests是一个优雅且简单的Python HTTP请求库 2,requests作用 答:requests的作用是发送请求获取响应数据 3,requests安装 答:pip install requests 二、…

Java Vector Capacity()方法与示例

向量类的Capacity()方法 (Vector Class capacity() method) capacity() method is available in java.util package. Capacity()方法在java.util包中可用。 capacity() method is used to return the current capacity (i.e. initially, how many object exists) of this Vecto…

MFC和GTK的区别

关键技术 http://blog.csdn.net/master_max/article/details/1540204 MFC和GTK的区别?? 1.  两者都是基于面向对象设计的。尽管MFC是用C写的,而GTK是用C写的,但思想都是面向对象的。GTK使用glib的对象机制,由于用C写…

视频图像质量评价

目录1、人眼视觉特性1、眼的适应性2、对比灵敏度3、空间分辨率和时间分辨率4、马赫效应5、可见度阈值2、图像质量测度3、图像评价方法4、图像评价方法的优劣1、人眼视觉特性 1、眼的适应性 暗适应性:从亮环境到暗环境,适应暗环境的特性 亮适应性&#…

鸿蒙科技与文化,数字阅读 | “华为鸿蒙”:当现代科技遇到古典文化

华为事件愈演愈烈。海思芯片 20 年 " 备胎 " 终转正,那么操作系统呢?最近,华为为自主研发的操作系统注册商标—— " 鸿蒙 ",引发了关于华为注册整本《山海经》的热烈讨论,很多人的朋友圈&#xff…

三、Beautiful Soup解析库

一、Beautiful Soup介绍与安装 1,Beautiful Soup介绍 答:Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库 2,Beautiful Soup安装 答:安装Beautiful Soup 4:pip install bs4 安装lxml:pip…