简单GDB调试

GDB下载

使用yum工具直接下载
在这里插入图片描述

生成可用gdb调试的可执行程序

-g 会保留源文件中的函数名和变量名

启动gdb

gdb 可执行程序名
set args xxx xxx 给程序传参

查看程序中的源代码

当前文件

l(list)
l 行号
l 函数名

非当前文件

l 文件名:行号
l 文件名:函数名

查看当前可显示的行数

show listsize (默认是显示10行)

设置显示的行数

set listsize n

断点

设置断点

b(break) 行号

查看断点

i(info) b

删除断点

d(delete) num(断点的编号)

删除多个

d num1 num2
d num1-num2

设置断点无效

dis num

恢复断点有效

ena num

设置条件断点

b n(行号) if (条件)

调试

打印变量的值

p 变量名

打印变量的类型

ptype 变量名

向下单步调试

n(next) 不会进入函数体
s(step) 会进入到函数体内部
finish 跳出函数体
  如果出不去,可能在函数体中有断点,如果有要删除或者设置其无效

一次走多步,直到下一个断点

c(continue)

变量的自动显示

display 变量名 变量自动显示
undisplay 编号 取消变量自动显示
i(info) display 查看自动显示的变量编号

从循环中直接跳出

until
  和finish一样,循环中不能有断点

直接设置变量等于某一个值

set var 变量名=value
  在程序中对应的值也会发生改变

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

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

相关文章

人工智能应用需要高可信性(180806)

来源:科学网摘要:近日,“Rekognition”却闹了一个大乌龙:28名美国国会议员被它识别成了罪犯。小编搞了大半辈子测试和容错,对这方面消息比较敏感。最近看到新闻,商业巨头亚马逊2016年推出图像识别AI系统“R…

暑假集训中期测试 Problem D: 装箱问题2 (并查集)

Description 有很多个棱长为1的正方体货物整齐地堆在一堆。不过有一些是悬空的, 大概是粘上去的吧。。。 给出这些货物的相邻关系,求最小的长方体(或正方体)能装下这些货物的集装箱的体积,(集装箱棱长方向与…

s3cmd安装及使用

一、安装 1.下载安装包。 这里我们使用s3cmd-1.0.0.tar.gz安装包 2.解压安装包 tar xzvf s3cmd-1.0.0.tar.gz 3.移动路径 mv s3cmd-1.0.0 /usr/local/s3cmd 4.创建软链接 ln -s /usr/local/s3cmd/s3cmd /usr/bin/s3cmd 5.执行配置命令(按提示输入相应密码等) s3cmd -…

二叉树——堆

二叉树顺序存储结构 理解堆之前先理解一下二叉树的顺序存储结构。普通的二叉树并不适合顺序存储,因为可能会造成大量的空间浪费。只有完全二叉树适合顺序结构存储。显示中我们通常把堆使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统中虚拟进程…

hive函数大全:11大类、109个函数

磨刀不误砍柴工&#xff0c;学完函数再sql 目录 一、关系运算 1. 等值比较: 2. 不等值比较: <> 3.小于比较: < 4. 小于等于比较: < 5. 大于比较: > 6. 大于等于比较: > 7. 空值判断: IS NULL 8. 非空判断: IS NOTNULL 9. LIKE比较: LIKE 10. J…

open AI 在DOTA 5v5 比赛中战胜职业选手

来源&#xff1a;AI科技大本营摘要&#xff1a;去年&#xff0c;OpenAI 在 DOTA 的 1v1 比赛中战胜了职业玩家 Dendi&#xff0c;而在距离进阶版 OpenAI Five 系统战胜人类业余玩家不过一个月的时间&#xff0c;今天凌晨&#xff0c;它又以 2:1 的战绩再次完成对人类高级玩家的…

C/C++程序从源代码到可执行程序的流程

对于一个C/C编写的程序&#xff0c;从源代码到可执行程序的过程通常是由IDE来完成的&#xff0c;一般分为四个步骤&#xff1a;预处理、编译、汇编、链接&#xff0c;下面就来详细说一下这四个步骤。 预处理&#xff1a; 主要是对其中的伪指令和特殊符号进行处理&#xff1a; …

Python 两种装饰器

目录 带参数的装饰器&#xff08;函数&#xff09; 类装饰器 装饰器(Decorators)是 Python 的一个重要部分。简单地说&#xff1a;他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短&#xff0c;也更Pythonic&#xff08;Python范儿&#xff09;。 带参数的装…

如何体现机器智能和群体智能的关系,2018新版互联网大脑模型绘制

作者&#xff1a;刘锋 计算机博士 互联网进化论作者2018年新的这一版&#xff0c;也是互联网大脑模型图的第五个版本&#xff0c;距离第一版的发布已经有10年时间&#xff08;2008年&#xff09;&#xff0c;距离上一版第四版也有1年时间&#xff0c;在这一版中主要解决了如何…

Python可变传参: *args和**kwargs

args是参数的数组&#xff0c;kwargs就是当你传入keyvalue是存储的字典。 请看例子&#xff1a; def test(a,*args,**kwargs): print "a: ",a print "args: ",args print "kwargs: ",kwargs test(1,2,3,d4,e5) 输出结果&#xff1a; a: 1 args: …

7/7 第7篇 函数名与函数指针

第7篇 函数名与函数指针 一 通常的函数调用 一个通常的函数调用的例子&#xff1a; //自行包含头文件 void MyFun(int x); //此处的申明也可写成&#xff1a;void MyFun( int ); int main(int argc, char* argv[]) { MyFun(10); //这里是调用MyFun(10);函数 return 0; }…

全球互联正在创造一个知识极大丰富和隐私终结的时代

来源&#xff1a;资本实验室摘要&#xff1a;据预测&#xff0c;到2020年&#xff0c;全球物联网连接设备将超过500亿个&#xff0c;会产生600泽字节的信息。这么庞大的数据量&#xff0c;将如何影响并改变我们的生活和工作&#xff1f;聚焦前沿科技创新与传统产业升级据预测&a…

大数据计算引擎:impala对比hive

目录 Impala与Hive的异同 数据存储 元数据 SQL解释处理 执行计划&#xff1a; 数据流&#xff1a; 内存使用&#xff1a; 调度&#xff1a; 容错&#xff1a; 适用面&#xff1a; Impala相对于Hive所使用的优化技术 Impala的优缺点 Impala与Hive的异同 数据存储 …

从外部调用Django模块

import os import sys sys.path.insert(0,/data/cloud_manage) from django.core.management import setup_environ import settings setup_environ(settings)from common.monitor import Monitor from django.db import connection, transaction 前提就是&#xff0c;要新建一…

泡沫破裂之后,强化学习路在何方?

作者&#xff5c;侯宇清、陈玉荣来源&#xff5c;智能单元编辑&#xff5c;Debra一、深度强化学习的泡沫2015 年&#xff0c;DeepMind 的 Volodymyr Mnih 等研究员在《自然》杂志上发表论文 Human-level control through deep reinforcement learning[1]&#xff0c;该论文提出…

常见的设计模式--单例模式

设计模式 设计模式&#xff08;Design Pattern&#xff09;是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的是为了代码可重用性、让代码更容易被他人理去解、保证代码可靠性。 设计模式使代码编写真正工程化&#xff1b;设计模式是软件工…

一篇文章搞懂数据仓库:维度表(设计原则、设计方法)

目录 1、什么是维度表&#xff1f; 2、维度表设计原则 &#xff08;1&#xff09;维度属性尽量丰富&#xff0c;为数据使用打下基础 &#xff08;2&#xff09;给出详实的、富有意义的文字描述 &#xff08;3&#xff09;区分数值型属性和事实 &#xff08;4&#xff09;…

javascript 键值转换

for (var i 0; i < headerFields.length; i) {fieldToIndex[headerFields[i]] i;} 转载于:https://www.cnblogs.com/EasonSun/archive/2012/08/03/2621661.html

Github项目:AI消除马赛克实战

目录 1、原理 2、准备工作 3、消除马赛克 4、效果对比 1、原理 该算法利用线性盒滤波器分别处理每个块的事实。对于每个块&#xff0c;它将搜索图像中的所有块像素化以检查直接匹配。 对于大多数像素化图像&#xff0c;Depix能够找到单个匹配结果。它假设这些是正确的。然…

C++继承一览

继承的概念及定义 继承机制是面向对象程序设计是代码可以复用的重要手段&#xff0c;它允许程序员在保持原有类特性的基础上进行扩展&#xff0c;增加功能&#xff0c;这样产生的类称为派生类。继承呈现了面向对象程序设计的层次结构&#xff0c;体现了由简单到复杂的认知过程。…