GDB之调试手段之生成与加载coredump文件(十三)

news2024/11/18 9:49:21

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:GDB之调试手段之生成、使用coredump文件。

1.程序crash后,可以生成coredump文件,保存core.xxx结尾文件。
2.然后gdb加载core.xxx文件,就可以知道crash的原因。

2.调试实例

<1>.生成coredump文件

#include <cstdio>

int main(void) {
  int *p = nullptr;
  printf("12345\n");
  *p = 0;
  return 0;
}

生成coredump过程

(gdb) n
5	  printf("12345\n");
(gdb) n
hello world
6	  *p = 0;
(gdb) n

Program received signal SIGSEGV, Segmentation fault.
0x0000555555555170 in main () at test.cpp:6
6	  *p = 0;
(gdb) generate-core-file 
warning: Memory read failed for corefile section, 4096 bytes at 0xffffffffff600000.
Saved corefile core.422717

生成的coredump文件名为:core.422717

<2>.加载coredump文件:core.422717

加载coredump,获取crash原因

# gdb ./test core.422717
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from test...
[New LWP 422717]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./test'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000555555555170 in main () at test.cpp:6

warning: Source file is more recent than executable.
6	  *p = 0;

以上描述crash原因:

Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x0000555555555170 in main () at test.cpp:6
6 *p = 0;

具体原因:第6行空指针取*,然后将0赋值给它,导致段错误,因为int *p = nullptr;被定义为空指针。

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

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

相关文章

用python实现音乐下载

前言 本文背景 最近对音乐比较有需求&#xff0c;想着用自己学的python来实现一下下载需求&#xff0c; 真的是拿着锤子在满世界找钉子&#xff0c;**文末附全部代码**声明&#xff1a; 本文仅作技术交流&#xff0c;禁止用于其他非法途径本文2023年9月15日是可用的&#xff…

SSL Windows环境诊断修复工具,保持shell连接活跃

SangforHelperToolInstaller.exe 接入内网遇到网络故障&#xff0c;修复网络问题&#xff0c;可以使用这个软件&#xff0c;修复网络问题非常强大。

live555 groupsock目录下文档解读

文章目录 groupsock/GroupEId.hhGroupsockHelper.hhGroupsock.hhgroupsock_version.hhIOHandlers.hhNetAddress.hhNetCommon.hNetInterface.hhGroupEId.cpp后续还会更新 groupsock/ groupsock/ ├── COPYING -> …/COPYING ├── COPYING.LESSER -> …/COPYING.LESSE…

python使用钉钉机器人给钉钉发送消息

import requestsdef dingmessage(msg):urlhttps://oapi.dingtalk.com/robot/send?access_token2c5e2b764129e936ba9c43713a588caa7eeb168c132223a91ba97d80a6fee337data{msgtype:text,text:{content: 通知:msg}}resrequests.post(url,jsondata)

ArrayList二维数组的嵌套写法(Java)

一维数组的插入 for(int i0;i<m;i){for(int j0;j<n;j){l.add(grid[i][j]);}} 二维数组插入&#xff1a;每次向里面插入List类型数据 for(int i0;i<m;i){List<Integer>lnew ArrayList<>();for(int j0;j<n;j){l.add(grid[i][j]);}list.add(l);} 力扣&a…

GDB之保存历史命令(十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

千巡翼X1带状任务功能

“小身材大能量的千巡翼X1无人机”新增带状任务功能。带状任务是针对像河流、管线、道路等带状区域进行正射影像数据采集而开发的新功能&#xff0c;如下所示。 带状任务可以根据带状测区的方位走向生成合适的航线&#xff0c;相比于使用多边形任务来规划带状区域的任务&#x…

记录第一个启动代码的诞生

核使用R52&#xff0c;参考汇编模板&#xff0c;一步一步来实现。 首先是ld文件&#xff0c;这个没啥好说的&#xff0c;主要是关注给vector_table划一块地址、stack地址&#xff0c;如下&#xff1a; .text.intvec :{_vectors_start .;KEEP(*(.text.intvec))_vectors_end .;…

【谢希尔 计算机网络】第1章 计算机网络概述

目录 1.1.1计算机网络概念&#xff0c;功能&#xff0c;组成&#xff0c;分类 计算机网络的概念 计算机网络的功能 计算机网络的组成 计算机网络的分类 1.1.2标准化工作 1.1.3速率相关的性能指标 速率 带宽 吞吐量 时延 时延带宽积​编辑 往返时延RTT 利用率 1.…

(matplotlib)如何不显示x轴或y轴刻度(ticks)

文章目录 背景plt版本ax子图版本 解决办法plt版本ax子图版本 背景 import numpy as np import matplotlib.pyplot as pltplt版本 x[1,2,3] y[4,5,6] plt.plot(x,y)ax子图版本 x[1,2,3] y[4,5,6] axplt.subplot() ax.plot(x,y)可以发现&#xff0c;正常情况下是有刻度的&…

【多线程】ConcurrentHashMap 详解

ConcurrentHashMap 一. Hashtable二. ConcurrentHashMap三. 相关面试题 HashMap 本身不是线程安全的. 在多线程环境下使用哈希表可以使用: HashtableConcurrentHashMap 一. Hashtable 在关键方法加上了 synchronized 关键字. 这相当于直接针对 Hashtable 对象本身加锁.如果多…

「扫地茅」神话破灭,科沃斯市值缩水超千亿

昔日的“扫地茅”科沃斯神话破灭。 8月26日&#xff0c;“扫地机器人*股”科沃斯(603486.SH)发布2023年上半年业绩报告&#xff0c;业绩增收不增利。 「不二研究」据科沃斯半年报发现&#xff1a;今年上半年&#xff0c;科沃斯营收增速为4.72%&#xff0c;净利下滑至33.40%。…

固定资产管理口号标语怎么写

在现代企业管理中&#xff0c;固定资产的管理是至关重要的一环。它不仅关系到企业的经济效益&#xff0c;也影响到企业的运营效率和稳定性。因此&#xff0c;我们需要一种既富有创意又实用有效的口号来引导我们的固定资产管理工作。 明确一个观点  我们要明确一个观点&#…

众源方略作为一家上市公司,公司实力和发展前景怎么样?

是否能成为上市公司&#xff0c;是衡量一个企业实力的重要参考标准。众源方略教育上市公司实力雄厚&#xff0c;是一家专注教导学员自媒体运营的在线教育培训机构&#xff0c;成立至今已有超过十年的时间。众源方略教育上市公司实力雄厚靠着优秀的师资力量&#xff0c;优质的课…

【Java IO流 - 中秋活动特供】流的分类,API使用,文件操作

博主&#xff1a;_LJaXi 专栏&#xff1a; Java | 从跨平台到跨行业 开发工具&#xff1a;IntelliJ IDEA Community Edition 2022.3.3 Java IO流 中秋特供啦 &#x1f96e;Java Io &#x1f354;什么是流流的分类文件字节输入流1. 条件循环解决1 (2) 读取特性 2. 数组存储解决 …

优雅地打印堆栈跟踪信息——Backward-cpp

优雅地打印堆栈跟踪信息——Backward-cpp 文章目录 优雅地打印堆栈跟踪信息——Backward-cpp介绍编译Backward-cpp下载源码文件结构安装第三方库编译测试 集成Backward-cpp测试代码 安装backward.hppbackward.cpp 使用方法g直接编译CMakebackward.hpp backward.cpp加入程序编译…

GRACE球谐数据滤波处理(利用matlab实现GRACE月水储量的二维傅里叶变化滤波)

GRACE的全球重力场产品以球谐系数&#xff08;SHCs&#xff09;的形式表现出明显的南北条带噪声问题&#xff0c;这种噪声被认为来源于它的极轨道、缺乏横向敏感性以及采样频率引起的混叠效应。 空间滤波器的例子包括各向同性高斯滤波器&#xff08;Wahr et al.&#xff0c;19…

GDB之保存已经设置的断点(十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

MQTT Paho Android 支持SSL/TLS(亲测有效)

MQTT Paho Android 支持SSL/TLS(亲测有效) 登录时支持ssl的交互 这是调测登录界面设计 代码中对ssl/tls的支持 使用MqttAndroidClient配置mqtt客户端请求时&#xff0c;不加密及加密方式连接存在以下几点差异&#xff1a; url及端口差异 val uri: String if (tlsConnect…

无涯教程-JavaScript - OR函数

描述 如果任何参数为TRUE,则OR函数返回TRUE&#xff1b;如果所有参数为FALSE,则返回FALSE。 语法 OR (logical1, [logical2], ...) 争论 Argument描述Required/Optionallogical1 您要测试的1到255个条件可以是TRUE或FALSE。 您要测试的1到255个条件可以是TRUE或FALSE。 Req…