<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    一江春水向東流

    做一個有思想的人,期待與每一位熱愛思考的人交流,您的關注是對我最大的支持。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      44 隨筆 :: 139 文章 :: 81 評論 :: 0 Trackbacks

    1. 前言:
    有的程序可以通過編譯, 但在運行時會出現Segment fault(段錯誤). 這通常都是指針錯誤引起的.
    但這不像編譯錯誤一樣會提示到文件->行, 而是沒有任何信息, 使得我們的調試變得困難起來.

    2. gdb:
    有一種辦法是, 我們用gdb的step, 一步一步尋找.
    這放在短小的代碼中是可行的, 但要讓你step一個上萬行的代碼, 我想你會從此厭惡程序員這個名字, 而把他叫做調試員.
    我們還有更好的辦法, 這就是core file.

    3. ulimit:
    如果想讓系統在信號中斷造成的錯誤時產生core文件, 我們需要在shell中按如下設置:
    #設置core大小為無限
    ulimit -c unlimited
    #設置文件大小為無限
    ulimit unlimited


    這些需要有root權限, 在ubuntu下每次重新打開中斷都需要重新輸入上面的第一條命令, 來設置core大小為無限.

    4. 用gdb查看core文件:
    下面我們可以在發生運行時信號引起的錯誤時發生core dump了.
    發生core dump之后, 用gdb進行查看core文件的內容, 以定位文件中引發core dump的行.
    gdb [exec file] [core file]
    如:
    gdb ./test test.core
    在進入gdb后, 用bt命令查看backtrace以檢查發生程序運行到哪里, 來定位core dump的文件->行.

    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1669532

    posted on 2008-01-21 22:18 allic 閱讀(2826) 評論(0)  編輯  收藏 所屬分類: C/C++
    主站蜘蛛池模板: 亚洲精品一卡2卡3卡四卡乱码| 最近中文字幕无免费| 成年女人毛片免费播放视频m| 亚洲福利精品一区二区三区| 亚洲真人无码永久在线观看| 人妻丰满熟妇无码区免费 | 午夜无遮挡羞羞漫画免费| 亚洲精品永久www忘忧草| 91在线免费观看| 亚洲AⅤ优女AV综合久久久| 亚洲日韩看片无码电影| 精品视频在线免费观看| 亚洲精品无码日韩国产不卡?V| 国产精品亚洲片在线花蝴蝶| 妞干网在线免费视频| 亚洲国产视频久久| 免费视频专区一国产盗摄| 亚洲精品成人网站在线播放| 日韩精品无码一区二区三区免费| 中文字幕亚洲乱码熟女一区二区| 亚洲精品精华液一区二区| 中文字幕无码不卡免费视频| 亚洲国产精品乱码在线观看97| 伊人久久大香线蕉免费视频| 亚洲综合区小说区激情区| 国产精品亚洲午夜一区二区三区| 国产2021精品视频免费播放| 亚洲人成在线中文字幕| 无码区日韩特区永久免费系列| 亚洲人成片在线观看| 成人免费AA片在线观看| 亚洲日韩国产AV无码无码精品| 成人一a毛片免费视频| 国产精品亚洲综合| 亚洲精品高清一二区久久| 国产免费AV片在线观看播放| 日本19禁啪啪无遮挡免费动图| 黄色一级毛片免费看| 亚洲色欲久久久综合网| 免费国产污网站在线观看15| 亚洲电影唐人社一区二区|