小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

gdb調(diào)試

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

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

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

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

為什么沒(méi)有core文件生成呢?

有時(shí)候程序down了,但是core文件卻沒(méi)有生成.core文件的生成跟你當(dāng)前系統(tǒng)的環(huán)境設(shè)置有關(guān)系,可以用下面的語(yǔ)句設(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)試信息),主要用來(lái)調(diào)試的。

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



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



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

linux下可以用gdb來(lái)調(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)購(gòu)買等信息,謹(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)論公約

    類似文章 更多