日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

gdb調(diào)試

 Love丿 2015-11-18
有些時(shí)候我們?cè)谝欢蜟代碼的時(shí)候,由于對(duì)一個(gè)非法內(nèi)存進(jìn)行了操作,在程序運(yùn)行的過程中,出現(xiàn)了"段錯(cuò)誤"。

呵呵,這種問題我想很多人會(huì)經(jīng)常遇到。遇到這種問題是非常無語的,只是提示了"段錯(cuò)誤",接著什么都沒 有,如果我們一味的去看代碼找太疼苦了,因?yàn)槲覀兌枷嘈抛约簩懙拇a沒問題,現(xiàn)實(shí)就是現(xiàn)實(shí)。下面介紹一種方法,可以有效的定位出現(xiàn)"段錯(cuò)誤的地方"。

當(dāng)我們的程序崩潰時(shí),內(nèi)核有可能把該程序當(dāng)前內(nèi)存映射到core文件里,方便程序員找到程序出現(xiàn)問題的地方。

什么是core dump?
core的意思是內(nèi)存,dump的意思是扔出來,堆出來。

為什么沒有core文件生成呢?

有時(shí)候程序down了,但是core文件卻沒有生成.core文件的生成跟你當(dāng)前系統(tǒng)的環(huán)境設(shè)置有關(guān)系,可以用下面的語句設(shè)置一下便生成core文件了

ulimit  -c  unlimited

core 文件生成的位置一般于運(yùn)行程序的路徑相同,在ubuntu下文件名一般 為core.

什么是core文件
當(dāng)一個(gè)程序奔潰時(shí),在進(jìn)程當(dāng)前工作目錄的core文件中復(fù)制了該進(jìn)程的存儲(chǔ)圖像。core文件僅僅是一個(gè)內(nèi)存映像(同時(shí)加上調(diào)試信息),主要用來調(diào)試的。

下面我們來看看,怎樣利用core文件來定位我們出現(xiàn)"段錯(cuò)誤"的地方.



程序運(yùn)行結(jié)果:



從上面我們可以看出,第一次運(yùn)行程序出現(xiàn)"段錯(cuò)誤"并沒有出現(xiàn)core文件,一般linux操作系統(tǒng)默認(rèn)core文件的大小都是0,需要手動(dòng)設(shè)置一下。
調(diào)試core文件
core文件是個(gè)二進(jìn)制文件,需要用相應(yīng)的工具來分析程序崩潰時(shí)的內(nèi)存映像。

linux下可以用gdb來調(diào)試core文件 。



從上面我們可以清楚的看到我們的程序是在那個(gè)地方出現(xiàn)了錯(cuò)誤。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多