日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux下用core和gdb查询出现段错误的地方

發布時間:2023/12/10 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下用core和gdb查询出现段错误的地方 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有些時候我們在一段C代碼的時候,由于對一個非法內存進行了操作,在程序運行的過程中,出現了"段錯誤"。
呵呵,這種問題我想很多人會經常遇到。遇到這種問題是非常無語的,只是提示了"段錯誤",接著什么都沒 有,如果我們一味的去看代碼找太疼苦了,因為我們都相信自己寫的代碼沒問題,現實就是現實。下面介紹一種方法,可以有效的定位出現"段錯誤的地方"。
當我們的程序崩潰時,內核有可能把該程序當前內存映射到core文件里,方便程序員找到程序出現問題的地方。
什么是core dump? core的意思是內存,dump的意思是扔出來,堆出來。
為什么沒有core文件生成呢?
有時候程序down了,但是core文件卻沒有生成.core文件的生成跟你當前系統的環境設置有關系,可以用下面的語句設置一下便生成core文件了
ulimit ?-c ?unlimited
core 文件生成的位置一般于運行程序的路徑相同,在ubuntu下文件名一般 為core.
什么是core文件 當一個程序奔潰時,在進程當前工作目錄的core文件中復制了該進程的存儲圖像。core文件僅僅是一個內存映像(同時加上調試信息),主要用來調試的。
下面我們來看看,怎樣利用core文件來定位我們出現"段錯誤"的地方.



程序運行結果:



從上面我們可以看出,第一次運行程序出現"段錯誤"并沒有出現core文件,一般linux操作系統默認core文件的大小都是0,需要手動設置一下。 調試core文件 core文件是個二進制文件,需要用相應的工具來分析程序崩潰時的內存映像。
linux下可以用gdb來調試core文件 。


從上面我們可以清楚的看到我們的程序是在那個地方出現了錯誤。
呵呵,有了這種方法,我想以后我們可以不再那么懼怕"段錯誤"了。

總結

以上是生活随笔為你收集整理的linux下用core和gdb查询出现段错误的地方的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。