• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            關(guān)于UNIX下的core文件

            Posted on 2008-10-27 12:42 Prayer 閱讀(459) 評論(0)  編輯 收藏 引用 所屬分類: LINUX/UNIX/AIX
             

            UNIX下調(diào)試程序,如果遇到內(nèi)存溢出等問題的時候,經(jīng)常在當(dāng)前目錄下出現(xiàn)這樣一個文件:core

                用指令>ls –l 可以發(fā)現(xiàn),core是一個很大的文件,動輒上百M,很是耗費(fèi)硬盤空間,所以一般我們都會及時將它清除掉,從而很少去關(guān)注它的真正內(nèi)涵。其實(shí)core中放置的是執(zhí)行進(jìn)程的內(nèi)存映像,其中的提示信息core dump就是信息轉(zhuǎn)儲的意思,在調(diào)試一個有問題的程序時它經(jīng)常是很起作用的。下面我們就來探討一下,如何有效的利用這個core文件來調(diào)試我們的代碼。

            1.例如調(diào)試程序一段名為samp.c 的程序,如下進(jìn)行調(diào)試

            $ cc -g samp.c -o samp

            $ samp

            當(dāng)程序在運(yùn)行的時候出現(xiàn)一個

            Bus Error - core dumped

            的提示,現(xiàn)在core生成了,為了獲得錯誤出現(xiàn)的位置,輸入

                $ dbx samp

            然后我們會得到以下提示

                Type 'help' for help.

                reading symbolic information ...     reading symbolic information . . . [

             

                 using memory image in core]

             

                   25   x[i] = 0;

             

                 (dbx) quit

            2.下面這個例子將要闡述怎么用dbx聯(lián)系進(jìn)程,程序如下:

            /***********

            * looper.c: *

            ************/

                 main()

             

                 {

             

                       int i,x[10];

             

                       for (i = 0; i < 10;);

             

                 }

            很顯然這是一個死循環(huán)程序,先編譯

                 $ cc -g looper.c -o looper

                 $ looper

            當(dāng)程序運(yùn)行時,在另一個打開的窗口里用指令 ps -u UserID 獲得進(jìn)程looperID,

                      PID     TTY      TIME    COMMAND

             

                      68      console   0:04    sh

             

                      467     lft3     10:48    looper

            從而得到進(jìn)程的ID 467   下面執(zhí)行dbx

             $ dbx -a 467

            Waiting to attach to process 467...

            Successfully attached to looper

            Type 'help' for help.

            reading symbolic information ...

            stopped in main at line 5

                5           for (i = 0; i < 10;);

            (dbx) quit

            現(xiàn)在你可以獲得程序出現(xiàn)問題的位置了。

            以上程序在UNIX AIX4.3下調(diào)試通過。

                  

             


            国産精品久久久久久久| 久久香综合精品久久伊人| 久久99久久99小草精品免视看| 久久99精品久久久久久久不卡 | 国产精品99久久久久久宅男| 精品水蜜桃久久久久久久| 久久精品亚洲AV久久久无码| 伊人久久大香线焦综合四虎| 99久久这里只精品国产免费| 99麻豆久久久国产精品免费| 国产精品一区二区久久精品涩爱| 国产91色综合久久免费分享| 性做久久久久久久久浪潮| 精品久久久久久国产| 四虎国产精品成人免费久久| 国产精品久久久久乳精品爆 | 久久婷婷人人澡人人| 久久久久AV综合网成人| 亚洲精品99久久久久中文字幕| 丰满少妇高潮惨叫久久久| 无码人妻精品一区二区三区久久久| 久久精品国产99国产精品澳门| 亚洲国产精品无码久久久蜜芽| 亚洲国产成人久久综合区| 久久久久噜噜噜亚洲熟女综合 | 亚洲欧美国产精品专区久久| 97精品伊人久久久大香线蕉| 久久国产亚洲精品无码| 亚洲va中文字幕无码久久不卡| 日韩电影久久久被窝网| 国产免费福利体检区久久| 香蕉久久一区二区不卡无毒影院| 国产精品久久久久国产A级| 日韩人妻无码精品久久免费一| 久久天天躁夜夜躁狠狠| 一本一本久久aa综合精品| 99久久免费国产精品特黄| 久久久久久久精品妇女99 | 99久久免费国产精品| 四虎国产精品免费久久久| 一本大道久久a久久精品综合|