Linux--gdb的常用命令

目录

前言

一、gdb是什么?

二、常用命令


 

前言

提示:这里可以添加本文要记录的大概内容:

        对于程序有两个版本,一个是debug版和release版,要想进行调试必须使用debug版本,再Linux上进行调试就要用到调试器gdb。


提示:以下是本篇文章正文内容,下面案例可供参考

一、gdb是什么?

        gdb是一个广泛使用的开源调试器,它能在Linux下对代码进行调试

二、常用命令

        创建一个main.c文件,在里面写入代码。

        gcc -g main.c -o main(-g生成可执行文件 并且在其中包含调试信息,并允许使用gdb进行调试程序 -o是用于指定输出文件的名称)

        gdb ./main(使用gdb加载程序)

下面是进入gdb后的命令

        run(执行整个程序的结果)

        start(开始执行被调试的程序,会在main的入口停下,用于调试的开始)

d67192b353484c9e8bb6856453dbb9cb.png 

        until main.c :11(直接将代码运行到地11行)

        list(查看当前代码的上下几行)

        list main.c :11(查看第11行的上下几行代码)

        next/step(运行下一行的代码,next--逐过程遇到函数则直接将函数执行完毕。stpe--逐语句遇到函数进入函数内部进行逐步调试)

faf6ece9bf6f42d6a4e1b2d2e1c9ccc6.png 

         break(给函数打断点)

                break main. : 15(给15行打上断点)

                break pp_p(给pp_p函数打断点,在进入函数前停止)

                info break(查看断点信息)

                delete(删除所有断点)

                delete 1(删除指定断点,断点编号一般从1开始)

                clear 15(删除指定位置的断点)

        continue(从当前行开始执行,直到碰见断点或者程序结束)  

c8cc079b33b94c58b1a8dcd511c62658.png 

         backtrace(查看调用栈,当使用这个命令的时候,gdb会列出从当前函数开始直到当前函数的调用)

        print a(变量名)(查看变量内容)

                print a = 10(设置变量名的内容)

        q(退出gdb)

84c8adb6468445fb94efeddb2bde3ab8.png 

        以上就是gdb的一些常用命令。

 

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

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

相关文章

实习手记(8):增删改查

上周又偷懒了没有按时写博客(扣大分啊啊!)但是好像也没有人看呢~其实最开始也只是想着记录一下实习历程,怕自己之后回过头想关于实习的都想不起来了,个人还是喜欢记录有关自己的学习生活的,就算没啥人看但回…

Elasticsearch安装 Kibana安装

安装Elasticsearch 一、拉取镜像或者上传 docker pull Elasticsearch 二、将上传的镜像导入(在仓库拉取的这一步跳过) docker load -i es.tar docker load -i 三、创建容器 1.Elasticsearch 注意修改到自己的网络(第八行) docker run -d \--nam…

ES 支持乐观锁吗?如何实现的?

本篇主要介绍一下Elasticsearch的并发控制和乐观锁的实现原理,列举常见的电商场景,关系型数据库的并发控制、ES的并发控制实践。 并发场景 不论是关系型数据库的应用,还是使用Elasticsearch做搜索加速的场景,只要有数据更新&…

“Docker中部署Kibana:步骤与指南“

博主这篇文章是跟Elasticsearch那篇文章是有关系的,建议大家先去看: 轻松上手:Docker部署Elasticsearch,高效构建搜索引擎环境_docker 启动 es-CSDN博客 这篇博文,还有镜像下载不下来的情况,大家可以去看…

pikachu-ssrf_redis

目录 SSRF 1、SSRF漏洞介绍: 2、SSRF漏洞原理: 3、SSRF漏洞利用手段: 4、SSRF漏洞绕过方法: SSRF(curl)用法 1、通过网址访问链接 2、利用file协议查看本地文件 3、dict协议扫描内网主机开放端口 4.gopher:威…

计算机网络基础 - 应用层(1)

计算机网络基础 应用层网络应用的体系结构C/S 体系结构P2P 体系结构C/S 和 P2P 体系结构的混合体 进程通信概述套接字(Socket)TCP socketUDP socket 应用层协议应用层需要传输层提供的服务Web 与 HTTP概念非持续连接和持续连接HTTP报文格式请求报文响应报…

vs code中编写html的配置,插件安装

首先安装vs code 插件安装下面三个: 功能分别是: html css support :就是支持html环境,因为vs code就是一个文本编辑器 live server:自动更新编写的文件在浏览器刷新 auto rename tag:自动修改另一半标签…

Postman接口自动化测试:从入门到实践!

前言 在软件开发过程中,接口测试是确保软件各组件之间正确交互的关键环节。Postman作为一款强大的API开发工具,不仅支持接口请求的发送与调试,还提供了丰富的自动化测试功能,使得接口自动化测试变得更加高效和便捷。本文将从Post…

音频采集spring_ws_webrtc (html采集麦克风转gb711并发送广播播放)完整案例

下载地址:http://www.gxcode.top/code 项目说明 springbootwebscoektwebrtc 项目通过前端webrtc采集麦克风声音,通过websocket发送后台,然后处理成g711-alaw字节数据发生给广播UDP并播放。 后台处理项目使用线程池(5个线程)接受webrtc数据并…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《极端冰雪天气下计及孤岛划分与融合的配电网故障恢复》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

【计算机三级-数据库技术】操作题大题(第八套)

第46题 (1) 1 (2) create table ( a1 int, a6 int, a10 int, Primary Key(a1, a6), Constraint fk_PerOrders Foreign Key (a1) References T1(a1), Constraint fk_PerOrders Foreign Key (a6) References T3(a6) ) 第47题 答案: [1]Pro…

给Go+Sciter开发的桌面客户端软件添加系统托盘图标

在桌面端软件开发中,系统托盘图标是提升用户体验的重要元素。托盘图标不仅能提供直观的状态反馈,还能让软件在后台运行时依然保持与用户的交互。通过托盘图标,用户可以轻松最小化软件、退出程序,甚至弹出通知,从而避免…

PG数据库导致断电/重启无法正常启动

一、问题 数据库断电后,启动PG数据库后无法正常启动,报”psql: could not connect to server: No such file or directory”的错误,错误图片如下: 二、背景分析 数据库是单机版,使用k8s进行部署运行在指定节点&#…

K8S系列——(二)、K8S部署RocketMQ集群

1、环境准备 要将RocketMQ部署到K8S上,首先你需要提前准备一个K8S集群环境,如图我已经准备好了一个版本为 v1.28.13 的 K8S 集群(其他版本也没问题): 角色IPMaster192.168.6.220Node-1192.168.6.221Node-2192.168.6.…

Vue中的methods方法与computed计算属性的区别

在创建的 Vue 应用程序实例中,可以通过 methods 选项定义方法。应用程序实例本身会代理 methods 选项中的所有方法,因此可以像访问 data 数据那样来调用方法。在模板中绑定表达式只能用于简单的运算。如果运算比较复杂,可以使用 Vue.js 提供的…

科技在日常生活中的革新

在科技日新月异的今天,‌我们的生活正经历着前所未有的变革。‌从智能家居到可穿戴设备,‌科技已经渗透到我们生活的每一个角落,‌深刻地影响着我们的生活方式和社会经济的发展。‌ 智能家居系统的出现,‌无疑是科技改变生活的典…

C语言函数介绍(上)

函数概念库函数标准库和头文件库函数的使用方法头文件包含库函数文档的一般格式 自定义函数函数的语法形式函数例子 形参和实参实参形参实参和形参的关系 return 语句数组做函数参数 函数概念 数学中我们其实就见过函数的概念,比如:一次函数 ykxb &…

【Python进阶(十)】——Matplotlib基础可视化

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…

IOS 11 通用Base控制器封装

整体规划 BaseController:把viewDidLoad逻辑拆分为三个方法,方便管理。 BaseCommonController:不同项目可以复用的逻辑,例如:设置背景颜色方法等 BaseLogicController:本项目的通用逻辑,主要…

使用css如何获取最后一行的元素?使用css解决双边框问题

一、项目场景: 在小程序上需要实现一个如下图的ui效果图 需要满足以下条件 一行放不下 自动换行最后一行或者只有一行时,文字底部不能有线 二、初版实现 按照上面的要求,最开是的实现代码如下 我是给每一个元素都添加了一个下边框&#x…