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

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

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

    一江春水向東流

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

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

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

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

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


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

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

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

    posted on 2008-01-21 22:18 allic 閱讀(2812) 評論(0)  編輯  收藏 所屬分類: C/C++
    主站蜘蛛池模板: 国产色爽免费无码视频| 免费国产成人18在线观看| 无码专区AAAAAA免费视频| 成人免费福利电影| 亚洲中文字幕不卡无码| 亚洲欧洲日韩国产一区二区三区| eeuss免费影院| 毛片免费观看视频| 国产亚洲一区二区三区在线| 亚洲国产一区二区三区在线观看 | 国产在线精品观看免费观看| h视频在线观看免费完整版| 亚洲高清免费视频| 亚洲福利电影在线观看| 成人国产网站v片免费观看| 国产91色综合久久免费| 91麻豆精品国产自产在线观看亚洲| 亚洲国产精品无码久久久| 一个人免费观看视频在线中文 | 18女人水真多免费高清毛片| 亚洲成人高清在线| 亚洲天堂2017无码中文| 久久精品免费一区二区三区| 免费v片在线观看无遮挡| 亚洲国产精品张柏芝在线观看 | 最新中文字幕免费视频| 亚洲AV无码专区电影在线观看| 亚洲欧美日韩久久精品| 91麻豆国产免费观看| 亚洲中文字幕第一页在线| 国产成人精品亚洲| 野花高清在线观看免费完整版中文| 日本亚洲视频在线| 九九久久国产精品免费热6| 在线A级毛片无码免费真人| 亚洲美女大bbbbbbbbb| 国产成人免费AV在线播放 | 亚洲精品一区二区三区四区乱码 | 一级毛片大全免费播放下载 | 亚洲三级高清免费| 99蜜桃在线观看免费视频网站|