没有合适的资源?快使用搜索试试~ 我知道了~
Linux Debugging(五): coredump 分析入門1
需积分: 0 2 下载量 76 浏览量
2022-08-04
12:55:27
上传
评论
收藏 269KB PDF 举报
温馨提示
试读
5页
請下載本文用到的coredump: Linux Debugging: coredump 分析入門的材料Program received signal SIGSE
资源详情
资源评论
资源推荐
Linux Debugging(五): coredump 分析入門
By anzhsoft | Published 2014年1月27日
作為工作幾年的老程序猿,肯定會遇到coredump,log severity設置的比較高,導致可用的log
無法分析問題所在。 更悲劇的是,這個問題不好復現!所以現在你手頭唯一的線索就是這個程
序的屍體:coredump。你不得不通過它,來尋找問題根源。
通過上幾篇文章,我們知道了函數參數是如何傳遞的,和函數調用時棧是如何變化的;當然了
還有AT&T的彙編基礎,這些,已經可以使我們具備了一定的調試基礎。其實,很多調試還是需
要經驗+感覺的。當然說這句話可能會被打。但是你不得不承認,隨著調試的增多,你的很多
推斷在解決問題時顯得很重要,因此,我們需要不斷積累經驗,來面對各種case。
導致coredump的原因很多,比如死鎖,這些還不要操作系統相關的知識,這些問題的分析不在
本文的討論範圍之內。大家敬請期待接下來的文章吧!本文從一個非常典型的coredump入手。
請下載本文用到的coredump: Linux Debugging: coredump 分析入門的材料
首先使用gdb a.out core.25992打開這個core
看一下backtrace是什麼:
Program received signal SIGSEGV, Segmentation fault.
0x0000000000400703 in __do_global_dtors_aux ()
(gdb) bt
Cannot access memory at address 0x303938373635343b
出錯的地方很奇怪,而且整個callstack都被破壞了,因此首先看一下寄存器和bp是否正常:
蒋寻
- 粉丝: 23
- 资源: 321
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0