- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Coredump简介及使用_v1.0_201504281025
Coredump 简介及使用
Coredump 简介及使用
DOCUMENT HISTORY
Vers Date Author Type of Modification
ion
1.0 04/27/15 Vincent Song Creation
SWD2-FRAEMWORK/VINCENT SONG/ 2015-04-27 16:44/V1.0 1
Coredump 简介及使用
目录
目录
Coredump 简介及使用1
目录2
一、什么是Coredump 3
二、Coredump 产生的原因3
三、如何控制产生Coredump 4
四、使用Coredump 的准备4
五、开始使用Coredump 5
SWD2-FRAEMWORK/VINCENT SONG/ 2015-04-27 16:44/V1.0 2
Coredump 简介及使用
一、什么是Coredump
有些C/C++程序或者通过JNI 调用了C/C++ 的APK 程序可以通过编译, 但在运
行时会出现错误,比如常见的signal 11 (SIGSEGV),这样的程序都是可以通过编
译的,而且这样的错误一般情况下不会像编译错误一样告诉你具体在代码的那一
行有问题,所以调试起来比较困难和麻烦。
因为上面的这种debug 困难的情况,所以就产生了coredump 这种机制 (很
多操作系统都支持这种机制,并不是Linux 独有,也不是专门为Android 而生),
系统 (或者标准库)在发现程序错误的异常退出时,就会把程序当时整个进程的
状态dump 出来,生成一个coredump 文件,通常情况下coredump 包含了程序
运行时的内存,寄存器状态,堆栈指针,内存管理信息等,可以理解为把程序
工作的当前状态存储成一个文件,很幸运,我们现在使用 Android 系统是基于
Linux 内核,Linux 内核原生就支持这种机制。
二、Coredump 产生的原因
造成程序coredump 的原因很多,这里根据以往的经验总结一下:
1、内存访问越界
a) 由于使用错误的下标,导致数组访问越界
b) 搜索字符串时,依靠字符串结束符来判断字符串是否结束,但是字符串没有正
常的使用结束符
c) 使用strcpy, strcat, sprintf, strcmp, strcasecmp 等字符串操作函数,将目标字
符串读/ 写爆。应该使用 strncpy, strlcpy, strncat, strlcat, snprintf, strncmp,
strncasecmp 等函数防止读写越界。
2、多线程程序使用了线程不安全的函数
第1 类:不保护共享变量的函数
第2 类:保持跨越多个调用的状态函数
第3 类:返回指向静态变量指针的函数
第4 类:调用线程不安全函数的函数
3、多线程读写的数据未加锁保护
一个线程做完条件判断准备使用时发生了调度,另外一个线程将其释放
并置空或者修改了内容,就会导致程序执行流错乱,要么指针异常,要
么状态错乱发生另外的异常
4 、非法指针
a) 使用空指针
b) 随意使用指针转换。一个指向一段内存的指针,除非确定这段内存原先就分配
为某种结构或类型,或者这种结构或类型的数组,否则不要将它转换为这种结
您可能关注的文档
- AD9834应用笔记6_cn.pdf
- ADF中文教程:如何计算“酸”的解离常数pKa值.pdf
- AD637中文数据手册.docx
- ADSL_MODEM宽带拨号的经典解决方案.doc
- AE技巧word版.docx
- afnnngu有_关保险论文有关保险的论文:非寿险精算中的风险划分测度与研究.doc
- ALF+PACS验收标准.doc
- ALPS长寿命旋转型电阻式位置传感器RD6R1A系列选型手册.pdf
- Al_Zn_Cu三元系低Cu侧相平衡_相变与扩散的研究_41_45.pdf
- Alt键打特殊符号.doc
- 二零二五年度物流运输公司自愿辞职劳动合同解除书.docx
- 2005-2017年江苏科技大学《825西方经济学》硕士研究生初试真题.pdf
- 2025年体育技术动作基础知识总结.pdf
- 2025年一建建筑实务311条案例问答.pdf
- 2022年中考生物真题试题(含答案).pdf
- 2025年教资考试数学高频考点.pdf
- 2010-2012、2014-2016、2019年江苏大学《854概率论与数理统计》硕士研究生初试真题.pdf
- 2007-2010、2013、2015-2016年江苏科技大学《610基础英语》硕士研究生初试真题.pdf
- 2022年山东济南中考数学历年真题汇编卷(Ⅲ)(含答案).pdf
- 2022年山东济南中考数学历年真题练习(B)卷(含答案).pdf
原创力文档


文档评论(0)