• <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++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            關于UNIX下的core文件

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

            UNIX下調試程序,如果遇到內存溢出等問題的時候,經常在當前目錄下出現這樣一個文件:core

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

            1.例如調試程序一段名為samp.c 的程序,如下進行調試

            $ cc -g samp.c -o samp

            $ samp

            當程序在運行的時候出現一個

            Bus Error - core dumped

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

                $ 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聯系進程,程序如下:

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

            * looper.c: *

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

                 main()

             

                 {

             

                       int i,x[10];

             

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

             

                 }

            很顯然這是一個死循環程序,先編譯

                 $ cc -g looper.c -o looper

                 $ looper

            當程序運行時,在另一個打開的窗口里用指令 ps -u UserID 獲得進程looperID,

                      PID     TTY      TIME    COMMAND

             

                      68      console   0:04    sh

             

                      467     lft3     10:48    looper

            從而得到進程的ID 467   下面執行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

            現在你可以獲得程序出現問題的位置了。

            以上程序在UNIX AIX4.3下調試通過。

                  

             


            久久精品国产99久久无毒不卡| 亚洲国产成人精品女人久久久 | 国产精品美女久久久免费| 国产高清美女一级a毛片久久w | 久久97精品久久久久久久不卡| 久久最近最新中文字幕大全| 中文字幕无码久久久| 精品永久久福利一区二区| 久久国产精品一区| 午夜天堂av天堂久久久| 久久无码精品一区二区三区| 久久国产高清字幕中文| 中文字幕精品无码久久久久久3D日动漫| 久久国产色AV免费看| 国产精品久久久久免费a∨| 久久国产精品二国产精品| 精品熟女少妇a∨免费久久| 一级做a爰片久久毛片免费陪| 久久久久久a亚洲欧洲aⅴ| 日产精品99久久久久久| 久久人人爽人人爽人人av东京热| 26uuu久久五月天| 久久99中文字幕久久| 人妻久久久一区二区三区| 久久久精品国产免大香伊| 欧美色综合久久久久久| 久久精品国产亚洲5555| 国内精品久久久久国产盗摄| 丁香五月综合久久激情| 久久99国产精品久久99| 粉嫩小泬无遮挡久久久久久| 久久国产乱子伦免费精品| 久久久婷婷五月亚洲97号色| 久久亚洲精品国产精品| 久久精品人人做人人爽电影| 久久久亚洲AV波多野结衣| 国产69精品久久久久APP下载| 久久成人国产精品免费软件| 中文字幕无码免费久久| 日产精品99久久久久久| 99久久精品费精品国产一区二区|