第3课-CoreDump程序故障分析

1.定义
在程序运行过程中,突然出现错误。然后Linux会把程序出错时的内存内容存放到一个Core文件中,这个过程就叫Core Dump。就叫核心转存。
2.主要用途:
段错误,产生段错误的地方主要有
(1)数组访问越界
(2)访问空指针
(3)栈溢出
(4)修改制度内存
3.使能CoreDump
打开 ulimit -c unlimited
关闭ulimit -c 0
4.在出错的程序目录下面产生core文件,然后利用gdb就可以查看文件内容。
gdb  程序名(可执行程序) core文件
5.注意编译的程序要加上-g选项,一遍又调试信息供gdb使用。

时间: 2024-10-09 22:04:06

第3课-CoreDump程序故障分析的相关文章

程序故障分析coredump

一:使用coredump故障分析工具的原因: core文件:a core file or core dump is a file that records the memory iimage of a running process and               its process status  (register values etc ....) 当一个进程崩溃时,在该进程会在指定目录生成一个core文件 用来记录该进程崩溃时的内存映像,并附带了一些调试信息.该文件主要供   调试

课上程序的补充

#include<stdio.h> #include<string.h> int main() { void funstr(char a[]); char str[]="hello world"; str[0]-=32; str[6]-=32; funstr(str); } void funstr(char a[]) { char *p; p=a; int n; n=strlen(a); while(n) { printf("%c",*p);

第27课 应用程序中的主窗口

1. 主窗口的概念 (1)主窗口是与用户进行长时间交互的顶层窗口 (2)程序的绝大多数功能直接由主窗口提供 (3)主窗口通常是应用程序启动后显示的第一个窗口 (4)整个程序由一个主窗口和多个对话框组成 2. Qt中的主窗口 (1)Qt开发平台中直接支持主窗口的概念 (2)QMainWindow是Qt中主窗口的基类 (3)QMainWindow继承于QWidget是一种容器类型的组件 3. QMainWindow中封装的秘密 (1)菜单栏(2)工具栏(3)中心组件(4)停靠组件(5)状态栏 4.

第1课 - GUI 程序原理分析

1. 命令行应用程序 (1)命令行应用程序的特点 ①是一种基于顺序执行结构的可执行程序 ②程序执行过程中不需要与用户产生交互 ③程序执行后给出最终的运行结果 (2)命令行应用程序的运行模式--程序运行有固定的开始和结束 (3)命令行应用程序适用场合 ①单任务场合 ②无效互或简单交互场合 ③服务器应用场合 2. 图形界面应用程序 (1)图形界面应用程序的诞生 ①随着计算机技术的发展,计算机走进日常生活 ②计算机程序开始需要处理各个领域中的问题 ③计算机用户已经不再是专业的计算机工作者 (2)图形界

第1课 GUI程序原理分析

1. 命令行应用程序 (1)命令行应用程序的特点 ①是一种基于顺序执行结构的可执行程序 ②程序执行过程中不需要与用户产生交互 ③程序执行后给出最终的运行结果 (2)命令行应用程序的运行模式——程序运行有固定的开始和结束 (3)命令行应用程序适用场合 ①单任务场合 ②无效互或简单交互场合 ③服务器应用场合 2. 图形界面应用程序 (1)图形界面应用程序的诞生 ①随着计算机技术的发展,计算机走进日常生活 ②计算机程序开始需要处理各个领域中的问题 ③计算机用户已经不再是专业的计算机工作者 (2)图形界

第三课:程序的灵魂-算法

程序效率越高越好,并不是越短越好.在某些场合下,我们需要写出别人看不懂的算法最好,但是在一个团队开发中,算法可读性应该尽可能高. 算法的定义 算法是特定问题求解步骤的描述 在计算机中表现为指令的有限序列算法是独立存在的一种解决问题的方法和思想.对于算法而言,语言并不重要,重要的是思想 算法的特性 输入 算法具有0个或多个输入 输出 算法至少有1个或多个输出 有穷性 算法在有限的步骤之后会自动结束而不会无限循环 确定性 算法中的每一步都有确定的含义,不会出现二义性 可行性 算法的每一步都是可行的

电脑小白学习第三课---安装程序(QQ为例)

我们在安装程序的时候,有时会自动给我们安装一些其他的没用的软件或者有些是流氓软件.我们安装程序时不只是单纯的点击下一步,下一步.下面演示如何去安装一个程序,以qq的安装为例.首先下载安装包.下载后,直接双击安装包,开始安装.首先看一下自定义选项.(一般程序启动都会让选择安装路径等,都看一下,是否有包含其他不相关的软件)设置安装路径,及其他选项,可以不让添加到快速启动栏,不让开机启动等.注意下面这个,在完成安装时,把不需要的都取消掉.否则会把不相关的程序都安装上啦.最后一步很关键.一定要注意. 原

电脑小白学习第四课---卸载程序(QQ为例)

程序的卸载,大多数都可通过在控制面板里面去操作.点击"卸载程序"选择需要卸载的程序,点击卸载即可.系统会调用程序的卸载程序,自动卸载.稍等一会,完成卸载.有些特殊的程序,在控制面板--程序里面找不到,可以尝试使用安装程序,再次运行,看是否有卸载选项.注意:卸载程序不要直接把安装的程序文件夹删掉. 原文地址:http://blog.51cto.com/dezhou/2061003

第15课 缔造程序兼容的合约(下)

1. ABI规定桢栈结构 (1)栈帧的内存布局(以Linux为例) (2)栈帧的形成方式 (3)栈帧的销毁方式 2. ebp寄存器 (1)ebp为当前栈帧的基准(存储上一个栈帧的ebp值) (2)通过ebp能够获取返回值地址.参数和局部变量等. 3. 函数调用发生时的细节 (1)调用者通过call指令调用函数,将返回地址压入栈中 (2)函数所需要的栈空间大小由编译器确定,表现为字面常量 (3)函数结束时,leave指令恢复上一个栈帧的esp和ebp(mov ebp, esp; pop ebp)