文档章节

应用程序一运行就崩溃,且每次崩溃的位置都不一样

一贱书生
 一贱书生
发布于 2016/11/24 08:56
字数 419
阅读 30
收藏 0

有个应用程序一运行就崩溃,现在你拿到了源码。在调试器中运行10次之后,发现该应用每次崩溃的位置都不一样。这个应用只有一个线程,并且只调用C标准库函数。究竟是什么样的编程错误导致程序崩溃?该如何逐一测试每种错误?

 

解答

随机崩溃的常见原因:

1)随机变量:某个随机变量或可变分量,程序每次执行时取值不定。包括:用户输入、程序生成的随机数或当前时间等。

2)未初始化变量:在某些语言中,该变量可能含有任意值。这个变量取不同值可能导致代码每次执行路径有所不同。

3)内存泄露:可能存在内存溢出。每次运行时引发问题的可疑进程随机不定,这与当时运行的进程数量有关。另外还包括堆溢出或栈内数据被破坏。

4)外部以来:可能依赖别的应用程序、机器或资源。要是存在多处依赖,程序就有可能在任意位置崩溃。

 

解决:

1)关闭系统中其他所有应用,仔细追踪资源使用。如果该程序有些部分可以关掉,就设法关掉。

2)在另外一台机器上运行该程序,看看是否重现同一问题。

3)借助工具检查特定情况。例如,可以利用运行时工具来检查未初始化变量。

© 著作权归作者所有

共有 人打赏支持
一贱书生
粉丝 19
博文 724
码字总数 600123
作品 0
[转]c/c++中delete/free 指针后,设置p=NULL的好处

刚刚看代码时看到这个问题,这篇博客就很好地解释了这个问题,赞一个。 从简单的代码开始: int* p = new int; p = 5; delete p; p = NULL; Line4把释放了的指针立即设置为null,我们一般认识...

zhongdecai
2014/03/01
0
0
内存写越界导致破环堆结构引起的崩溃问题定位经验

前段时间开发的一个后端C模块上线后,线上出core,初始时,因为訪问压力不大,所以崩溃是上线3天左右出现的。当时用gdb跟进调用堆栈并检查源代码,发现出core位置的代码沒有啥问题。因为当时...

云栖希望。
2017/12/04
0
0
[译]了解和分析iOS应用崩溃报告

当一个应用发生崩溃时会产生一份崩溃报告(Crash Report),该报告可以帮助我们了解崩溃的产生原因。该文档讲述了关于怎么样符号化、理解和分析崩溃报告的相关内容。 介绍 获取崩溃和低内存报...

vimfung
2016/06/29
407
2
iOS-崩溃调试

在iOS开发调试过程中以及上线之后,程序经常会出现崩溃的问题。简单的崩溃还好说,复杂的崩溃就需要我们通过解析Crash文件来分析了,解析Crash文件在iOS开发中是比较常见的。 获取崩溃信息 ...

hfzhangzhang
2016/01/21
23
0
怎么获取一个程序的状态,判断是否崩溃

服务器上的一个程序经常崩溃,但因为是开发商的软件,我们没有源代码,每次崩溃都需要手动重启。我想写个程序,能检测程序的运行状态,当程序崩溃后,会自动重启这个软件。但是要怎么获取到程...

辉小帅
2016/12/12
384
7

没有更多内容

加载失败,请刷新页面

加载更多

Win10内部更新:警告用户别用chrome和Firefox

简评:别和 Chrome 和 Firefox 约行不,我 Edge 明明更美、屁股更翘、更性感。。。 微软正在测试 Windows 10 的一个更新:警告用户不要安装 Chrome 和 Firefox。是测试人员发现的这个新警告,...

极光推送
35分钟前
2
0
Java并发编程高阶技术 高性能并发框架源码解析与实战

全网唯一深度解析并发编程框架disruptor底层源码课程,助你成为并发编程高手,拿下高薪 网盘地址下载

qq__2304636824
今天
1
0
day92-20180918-英语流利阅读-待学习

健身最大的敌人不是懒惰,而是逞强 Daniel 2018-09-19 1.今日导读 还记得 2008 年北京奥运会运动员刘翔的退赛风波吗?那天几乎所有中国人都将视线聚焦在了鸟巢体育馆 110 米栏的项目上,迫不...

飞鱼说编程
今天
8
0
70.shell的函数 数组 告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析 20.16/20.17 shell中的函数: ~1. 函数就是把一段代码整理到了一个小单元中,并给这个小单元起一个名字,当用到这段...

王鑫linux
今天
3
0
分布式框架spring-session实现session一致性使用问题

前言:项目中使用到spring-session来缓存用户信息,保证服务之间session一致性,但是获取session信息为什么不能再服务层获取? 一、spring-session实现session一致性方式 用户每一次请求都会...

WALK_MAN
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部