Linux debian gdb dump

1.开发背景

        记录 debian 下应用程序崩溃调试方法

2.开发需求

        程序越界可以定位到越界的位置附近

3.开发环境

        debian 操作系统,如果不支持需要查看是否存在对应的可执行文件

4.实现步骤

4.1 设置 dump 输出大小

ulimit -c unlimited
# 设置输出大小 生成core 文件sudo apt install gdb
# 安装 gdb 调试工具

生成的 core 文件和应用程序同一层目录

4.2 编译测试程序

现在需要制造一个越界的应用程序,如下

#include <stdio.h>/* 目标 dump 点 */
void func_fault(void)
{int array[10];for (int i = 0; i < 1000000; i++){array[i] = i;}
}int main(int argc, char* argv[])
{func_fault();printf("hello world\r\n");return 0;
}

编译程序并运行程序,如下,core dumped 表示有 dump 文件生成

gcc main.c -o main
./main

4.3 调试 dump 定位越界位置

gdb ./main ./core
# 使用 gdb 调试程序 ./main 使用的 ./core(gdb)bt 
# 进一步定位溢出位置(gdb)q
# 退出 gdb

如图所示:可以定位到问题出现在函数 func_fault 中,可以定位出溢出位置

5.参考链接

Linux 无法生成core dump文件解决方法及core查看_coredump未生成原因-CSDN博客

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

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

相关文章

稀碎从零算法笔记Day56-LeetCode:组合总和 Ⅳ

题型&#xff1a;DP、数组 链接&#xff1a;377. 组合总和 Ⅳ - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述 给你一个由 不同 整数组成的数组 nums &#xff0c;和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的…

Qt中的Qmainwindow和Qwidget区别

Qmainwindow是有菜单栏的&#xff0c;如图 Qwidget是没有菜单栏的&#xff0c;如图

《网络安全-frida初探-付费应用简单逆向》

文章目录 一、目标应用二、分析流程声明文章仅供学习参考,严禁非法使用,如非法使用,而导致的一切后果,由使用者自负 一、目标应用 aHR0cHMlM0EvL3d3dy53YW5kb3VqaWEuY29tL2FwcHMvODI4NjIxMy9oaXN0b3J5X3Y5 二、分析流程 反编译apk查看相关信息 功能使用的通过该处判断的需…

C# 窗体应用程序 Chart控件显示实时曲线

IDE: VS2019 项目模板&#xff1a;C# windows 窗体应用(.NET Framework) 【参考】 B站上教程C#Chart控件画折线图的使用&#xff0c;关于Chart控件的属性&#xff0c;介绍得非常详细。B站上教程C#上位机Chart控件实时曲线终极讲解&#xff0c;对鼠标滚轮事件等&#xff0c;多…

今日arXiv最热NLP大模型论文:浙江大学:蒸一蒸,多Agent变成单一模型,效果更好

“团结就是力量”&#xff0c;面对复杂多变的现实环境&#xff0c;multi-agent应运而生。相较于单打独斗的single-agent&#xff0c;multi-agent集结了多个功能各异的LLM&#xff0c;共同攻克难关。然而&#xff0c;这种协同作战的方式也带来了沉重的推理负担&#xff0c;限制了…

【GDAL-Python】3-在Python中使用GDAL处理数字高程模型DEM

文章目录 1-介绍1.1 主要内容1.2 坡度、坡向、山体阴影 2-代码实现2.1 数据介绍2.2 代码实现2.3 效果显示 3.参考资料3.1 使用richdem库中的TerrainAttribute计算坡度、坡向、山体阴影 1-介绍 1.1 主要内容 &#xff08;1&#xff09;教程内容&#xff1a;使用GDAL处理数字高…

20240422,C++文件操作

停电一天之后&#xff0c;今天还有什么理由不学习呜呜……还是没怎么学习 一&#xff0c;文件操作 文件操作可以将数据持久化&#xff0c;对文件操作时须包含头文件<fstream> 两种文件类型&#xff1a;文本文件&#xff1a;文件以文本的ASCII码形式存储&#xff1b;二进…

Oracle21C 引入HR实例(linux)

1、下载资源 https://github.com/oracle-samples/db-sample-schemas点击code&#xff08;代码&#xff09;下载 2、上传Sql文件 解压之后将human_resources里的文件复制到demo\schema\目录&#xff08;具体目录前面的路径是你安装的路径&#xff09;下&#xff0c;如下图 3、…

李廉洋:4.23黄金休市之后大幅下跌,原油小幅度上涨。走势分析!

今年以来推动金价上涨的因素是亚洲的需求&#xff0c;很可能来自各国央行。最近又有零售买盘和一些金融买盘作为补充。目前的问题是&#xff0c;不断上升的债券收益率正在争夺资金。美国2年期国债的收益率接近5%&#xff0c;在美联储降息导致收益率开始下降之前&#xff0c;这仍…

软件公司:饥一顿饱一顿,咋办?试一试外部柔性产能。

有人开玩笑&#xff0c;软件公司最理想状态就是&#xff1a;项目来了&#xff0c;公司有足够的人力消化产能&#xff1b;项目没了&#xff0c;人员都走了&#xff0c;不会造成产能搁置。 以上是个理想状态&#xff0c;事实上单纯依靠一个公司是做不到的&#xff0c;所以一定建立…

网络常识!!!

网络常识!!! 一:网络的发展史二:关键的概念三:IP地址四:端口号二级目录二级目录二级目录二级目录三级目录 一:网络的发展史 从游戏方面发展历程进行理解: 从单机游戏-----游戏支持局域网对战-------游戏支持广域网对战-------移动端 (1)局域网对战:在同一个网吧里,不同的游戏…

【C++】---STL之vector详解

【C】---STL之vector详解 一、vector的介绍&#xff1a;二、vector的成员函数&#xff1a;1、vector类的构造函数2、vector的元素访问符3、vector的迭代器4、vector的模版5、vector的拷贝构造6、vector的容量&#xff08;1&#xff09;vector的增容机制&#xff08;2&#xff0…