linux入门基础(四)Gdb调试程序

一篇文章轻松学会使用gdb调试程序的core文件(调试全过程) 阅读详情

Gdb调试

 

注意:在Gcc编译选项中一定要加入  –g

退出GDB:quit  或  Ctrl+d 

 

  

 

调试过程:

 

  1. 查看文件 

           命令: (gdb)             l

   

 

  2. 设置断点

          命令:(gdb)     b      行号

 

     

 

 注:到第17行停止,并没有执行17行

  3. 查看断点情况   info  b

      

 

  4.     运行代码      r

      命令:  (gdb)       r

(也可以指定行开始运行,在r后面加上行号)

 

    

 

  5. 查看变量值 p

      命令:(gdb)      p    变量名

     

 

 

   6. 设置监视点:  watch      z (变量名)

   也可以是复杂的表达式

 

     

 

7. 单步运行  

 

 命令:(gdb)       n (逐过程)

 

8.逐步,会进入函数

      命令:(gdb)        s

 

9.条件断点

 将正常断点转变为条件断点:condition

 如:condition  1  i == 10

 只有当满足条件i == 1时,才会在断点1处暂停

 

  

 

10.  恢复程序运行   c

命令:     (gdb)       c

(程序就会运行,如果没有断点,就运行剩下部分,如果有断点,就会运行到下一个断点)

 

11.   去除断点   

clear   line_number

clear   filename:line_number

12.  help

 

12.1   help找出类别

 

  

 

12.2help从列表中

 

  

 

【新华三】通过路由复制实现Public与VRF路由互通 如上图所示,S6900设备里有两张表,一张是public路由表,默认所有的路由都存放在public路由表里;除此之外还创建了VRF test,因此此设备还有VRF test路由表。通过路由复制实现Public路由和VRF路由互通,默认情况下VRF里的路由单独一张路由表,默认情况下与public路由表相互隔离,两张表之间不可互访。此时的public路由表里面并没有test的路由表。public路由表与VRF路由表之间相互隔离。此时VRF test里的路由也没有其他VRF或Public里的路由,相互隔离。 阅读详情

相关推荐

UOS的ARM机编译QT5.14.2记录

我需要的qt版本是Qt5.14.2,所以选择编译Qt5.14.2源码;几个月前尝试了编译一次,当时编译过程中出现了报错,当时时间很紧最后安装的默认版本来使用,最近有时间重新进行了一次编译,历经3个星期(4G的内存)终于解决了各种坑,编译成功了,现在将编译过程中遇见的一些坑记录一下,方便日后能记得这一次可恶的编译过程,如有描述欠缺的地方,还希望各位大佬给点意见指导指导🙏。

NiF693zzz的博客 1619

DM8:达梦数据库宕机问题分析调试gdb core

Linux core文件生成受限制--Core file was truncated to 2147483648 bytes+gdb dmserver core调试

qq_37358909的博客 2699

【Stata双重差分模型】双重差分DID的具体操作步骤

本案例将详细阐述如何使用双重差分法进行实证分析,并展示具体的STATA操作代码。

a519573917的博客 2万+

详解coredump

一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。 通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息等,我们可以理解为是程...

系统运维 4609

2024“华为杯”中国研究生数学建模竞赛(A题)深度剖析_数学建模完整过程+详细思路+代码全解析

目标是优化风力涡轮机的功率调度,使其在给定的实时风速数据下,最小化涡轮机关键组件(如塔架和主轴)的疲劳损伤。问题的挑战在于,考虑通信延迟和测量噪声的同时,要确保功率输出与风速变化的响应快速且准确。

2401_82549447的博客 6632

GEO优化实战:用AnswerBit量化AI搜索可见度与品牌监控体系

生成式引擎优化(GEO)正取代传统SEO,成为品牌在AI搜索生态中获取可见度的关键。当用户习惯从“翻列表”转向“直接问AI”,品牌能否被生成式引擎识别、引用并正向推荐,直接决定了其在用户决策链条中的存在感。AI搜索可见度因此从模糊概念演变为可度量的运营指标,涵盖提及率、引文率、情感分与回源质量等维度。腾讯AnswerBit作为答案侧分析工具,帮助运营者拆解AI回复中的品牌语境与引用来源,让优化动作有据可循。从内容结构化改造、品牌实体建设到第三方权威背书,GEO要求团队建立“度量-优化-再度量”的闭环。文章结

weixin_31100517的博客 154

【Linux指南】Linux调试利器gdb入门:从编译到基础命令实战

在Linux环境下开发C/C++程序时,遇到bug是家常便饭。无论是逻辑错误、内存泄漏还是运行时崩溃,一款强大的调试工具都能帮我们快速定位问题根源。gdb(GNU Debugger) 作为Linux系统中最常用的命令行调试工具,支持断点设置、变量查看、单步执行等核心功能,是开发者排查问题的"利器"。 本文将从最基础的"如何生成可调试程序"讲起,逐步介绍gdb的启动方式、核心调试命令及实战技巧,帮助新手快速掌握gdb的使用方法。

倔强的石头的博客 7100

ROC-RK3588S-PC 刷机 安装Android系统

rk3588刷机,装系统

Wjz_www的博客 4836

在 Linux 下使用 GDB 调试程序

GDB是一个功能强大的调试工具,掌握它的基本用法可以大大提高你的开发效率。希望本文能帮助你更好地使用GDB调试程序。如果你有任何问题或建议,欢迎在评论区留言,我们一起交流!

Ly001_的博客 1493

Captcha must be filled out,解决Kaggle新用户注册无法弹出验证提示的问题

Captcha must be filled out

weixin_46713695的博客 5万+

【VxWorks】Vxworks、QNX、Xenomai、Intime、Sylixos、Ucos等实时操作系统的性能特点

VxWorks 操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统,是嵌入式开发环境的关键组成部分。其内核支持多任务调度(采用基于优先级抢占方式,同时支持同优先级任务间的分时间片调度)、任务间的同步、进程间通信机制、中断处理、定时器和内存管理机制等,且提供了一个快速灵活的与 ANSIC 兼容的 I/O 系统,网络支持 对其它VxWorks系统和TCP/IP网络系统的"透明"访问。具有良好的持续发展能力、良好的可靠性、卓越的实时性和高性能的内核以及友好的用户开发环境。

smartvxworks的博客 1065

Linux下GDB调试程序

GDB(全称:GNU Debugger)是GNU工程师为GNU操作系统开发的调试器。它可以用于调试C、C++、Objective-C、Pascal、Ada等语言编写的程序。

开到荼蘼的博客 2125

用 Python 和 XGBoost 进行疾病诊断预测

疾病诊断预测是医疗领域的重要研究方向,准确的疾病诊断预测可以帮助医生提前制定治疗方案,提高治疗效果,降低医疗成本。本文章的目的是介绍如何使用 Python 和 XGBoost 算法构建疾病诊断预测模型。范围涵盖了从数据预处理、模型训练到模型评估的整个流程,同时通过实际案例展示如何将该模型应用于疾病诊断预测中。本文首先介绍了疾病诊断预测的背景和 XGBoost 算法的核心概念,然后详细讲解了 XGBoost 算法的原理和具体操作步骤,包括 Python 代码实现。

AI Python 编程之道的博客 1064

GDB调试工具入门

可执行程序分为Release版本(发行版本)和Debug版本(调试版本),这两个版本都是用同一份源码编译出来的,平时直接使用gcc或者g++编译器生成的可执行程序就是Release版本,当我们要测试时,就要使用Debug版本,利用gdb工具可以将我们的可执行程序生成Debug版本。首先下载gdb调试工具,之后在编译可执行程序的时候直接使用 -g ,生成的可执行程序就是Debug版本,这个版本会添加更多的调试信息,所以占的存储空间也比较大,要使用gdb进行调试,必须在源代码生成二进制程序的时候, 加上。

weixin_63913420的博客 1713

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

初识Linux —— 调试程序

我们已经学习了linux下许多的工具,vimgcc等;已经能够在linux写代码,并且进行编译运行,让程序在linux下跑起来。但是,如果我们在写代码的时候遇见了错误;但是我们并不知道错误在哪,在windows下,我们可以进行调试来查找代码错误的位置进行修改;我们在linux就只能查看源代码,直接查找错误,这样很麻烦;现在就来学习linux如何调试程序。

LH__1314的博客 4994

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Linux下使用GDB调试程序的方法

Linux下使用GDB调试程序的方法2008年09月10日 星期三 16:20简要介绍一下是否gdb调试程序的方法:  (1)进入gdb调试:  gdb + 已经编译通过的可执行程序 -》 就进入调试模式。例如:gdb MiddlePublisher  (2)r + 运行时的参数 -》 开始运行可执行程序。例如 r -lxml2 -f refile  

bamboo_ru的专栏 701

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

如何使用GDB工具来调试程序

官方参考文档:http://www.gnu.org/software/gdb/documentation/ GDB(GNU 项目调试器)可以让您了解程序在执行时“内部” 究竟在干些什么,以及在程序发生崩溃的瞬间正在做什么。GDB 做以下 4 件主要的事情来帮助您捕获程序中的 bug: ◼ 在程序启动之前指定一些可以影响程序行为的变量或条件 ◼ 在某个指定的地方或条件下暂停程序 ◼ 在程序停止时检查已经发生了什么 ◼ 在程序执行过程中修改程序中的变量或条件,这样就可以体验修复一...

m0_37322399的博客 2542

GDB调试程序

GDB调试指南:Linux下的代码调试利器 GDB是GNU开发的功能强大的命令行调试工具,支持C/C++等多种编译型语言。在Linux开发中,由于缺少图形界面,GDB成为调试代码的重要工具。 核心要点: 编译时必须添加-g选项保留调试信息 常用调试命令: list查看代码 break设置断点 run启动调试 step/next单步执行 print查看变量 x检查内存 调试流程:设置断点→启动调试→检查变量/内存→定位问题 GDB通过命令行操作实现VS等IDE的图形调试功能,是Linux开发者必备的调试工具。

随便写点C++和JAVA的知识 702

linux ptrace 图文详解(八) gdb跟踪被调试程序的子线程、子进程

本文介绍了gdb调试程序时,如何跟踪被调试程序创建的子进程/子线程。

h_b__k的博客 990

Linux中_使用GDB调试程序记录

Linux中_使用GDB调试程序记录

qq_44681788的博客 1290

06_gdb调试程序

GDB是一个由GNU开源组织发布的、UNIX/下的、基于命令行的、功能强大的程序调试工具。对于一名Linux下工作的c/c++程序员,gdb是必不可少的工具;虽然它是命令行模式的调试工具,但是它的功能强大到你无法想象,能够让用户在程序运行时观察程序的内部结构和内存的使用情况。

成长需要沉淀。 1207

Linux下,使用GDB调试程序的方法

<br />在Linux下调试程序一般用GDB来执行。<br /> 这里简要介绍一下是否gdb调试程序的方法:<br /> (1)进入gdb调试:<br /> gdb + 已经编译通过的可执行程序 -》 就进入调试模式。<br /> 例如:gdb MiddlePublisher<br /> (2)r + 运行时的参数         -》 开始运行可执行程序。<br /> 例如 r -lxml2 -f refile<br /> (3)b + 断点               -》设置调试的断点

Briver Song的专栏 1396

GDB 简介及其基础用法:GDB是 Linux 环境下用于调试程序的强大工具,特别适用于 C 和 C++ 代码。它允许开发者在程序运行时进行调试,比如设置断点、单步执行、查看变量值等。

GDB 是 GNU 工具链中的调试器,用于分析程序运行时的状态,找出导致程序崩溃或行为异常的原因。查看代码执行流程设置断点来暂停程序检查和修改变量的值单步执行代码GDB 是一个功能强大的调试器,可以帮助你发现并修复程序中的错误。通过设置断点、单步执行、查看变量值等功能,你可以深入了解程序的执行过程并快速定位问题。

qq_50635297的博客 1734

GDB 调试程序

 GDB 调试程序 无论是多么资深的程序员在编写的程序时,都不大可能一次性就会成功,在程序运行时,会出现许许多多意想不到的错误,一味 地只是查看程序用处不大,最有效的方法通过一些手段进入到程序内部进行调试。通常在调试程序的时候如果能够得到以下一些信息,对于开发者找到错误所在是很 有帮助的。 1 . 程序是运行到哪个语句或者表达式就发生了错误? 2 . 如果错误是在执行一个函数的时候出现

小唐学习日志 874

Linux 基础入门操作 - 第四章 GDB调试器调试程序

插入断点,就可以利用run指令来运行程序。list: 查看代码。break : 插入代码。next: 下一个插入。run : 运行程序。

huanghongqi11的博客 500

Linux下如何用gdb调试程序?

本文详细介绍了在Linux下使用GDB调试C语言程序的完整流程。主要内容包括:如何编译带调试信息的C程序;启动GDB并加载程序的方法;核心调试流程(设置断点、运行程序、查看变量);常用调试命令(单步执行、变量查看、调用栈跟踪等);调试崩溃程序时如何使用CoreDump文件定位问题;以及条件断点、宏定义调试等实用技巧。通过示例程序演示了从设置断点到单步跟踪的全过程,帮助开发者快速掌握GDB调试C程序的关键技术,有效解决程序中的逻辑错误和崩溃问题。

start_up_go的博客 739
上一篇: linux入门基础(三)Gcc编译编程
下一篇: Ping过程详解
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值