• <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++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
            Q:在AIX系統中,經常會看到文件名為core的文件,這個文件有用處嗎?如果有用,怎么使用?

              A:當進程在異常終止運行時,系統會把該進程對應的地址空間中的數據寫到core文件中(這個過程被稱為dump),以便程序員對其進行分析,找出進程異常終止的原因。缺省情況下,異常終止的進程在啟動它的當前目錄下產生core文件。

              在AIX 4.3.3中,所有的core文件的文件名都是core,如果不只一個程序產生dump或者相同的程序dump多次,它們都會產生相同文件名的core文件,那么就會丟失比較早的core文件。從AIX 5.1開始,改變了core文件的命名方法,使得每一個core文件擁有惟一的文件名,從而避免了新的core文件覆蓋舊的core文件,這個特色更加有助于程序員調試和跟蹤運行失敗的程序。

              默認情況下,一個core文件的文件名是core。要使用AIX 5L中core文件命名的新方法,就要把CORE_NAMING環境變量的值設置為yes。

              在AIX 5L中,把當前用戶的CORE_NAMING環境變量的值設置成yes之后,隨后啟動的進程產生的core文件名才能惟一的。新的core文件名的格式是core.pid.ddhhmmss。其中pid是進程號,dd是當前月份中的日子,hh表示小時,mm表示分,ss表示秒。

              對于一個占用內存資源很大的進程產生的core文件也非常大,因此如果經常有進程產生core文件,而core文件名都不相同,那么產生的core就會占用非常多的文件系統空間,所以系統管理員要定期為程序員收集這些core文件,并刪除這些文件。在AIX 5.3中,用戶可以設置產生壓縮的core文件和指定一個目錄來保存core文件,用lscore命令查看當前用戶或指定用戶的core設置,例如:

              $ lscore compression: off path specification: off corefile location: not set naming specification: off $

              要查看peter用戶的core設置,命令是lscore peter。查看整個系統的core設置,命令是lscore –d 用chcore命令修改當前用戶的core設置,例如: $ chcore –c on –p on –l /tmp/coredir –n on

              上面的命令修改當前用戶的core設置,-c on參數的作用是打開壓縮core文件功能,用戶可以用uncompress命令來解壓縮,-p on參數的作用是打開指定的core文件位置,保存core文件的目錄是由-l參數指定為/tmp/coredir目錄,-n on參數的作用相當于把CORE_NAMING環境變量值設置為yes。其中on表示打開這些功能,將on換成off表示關閉這些功能。

              如果要修改指定用戶的core設置,在上面的命令最后加上用戶名,要修改整個系統的core設置,在上面的命令最后加上-d即可。其實每個用戶的core設置保存在/etc/security/user文件中,chcore和lscore命令存取user文件的內容,讀者可以參考user文件的內容用vi來設置某個用戶的core設置。

             每一個core dump會產生一個新的錯誤日志記錄。用errpt命令查看這樣的錯誤日志記錄可以幫助程序員識別導致core dump的應用程序。程序員可以用dbx命令來調試產生core文件的程序,要用dbx命令調試有問題的程序時,必須保證core文件和產生core文件的程序都在當前目錄下,調試程序的最簡單的命令格式如下:

              $ dbx ProgramFile CoreFile

              ProgramFile是程序文件名,CoreFile是core文件名。在dbx中用where子命令可以查看程序在異常終止時正在執行的函數名,也就是說能夠查看程序在執行哪個函數時而異常終止的,然后在源程序中找這個函數,再進一步定位異常語句。dbx命令的詳細用法讀者可以參考dbx命令的手冊。

              當一個進程正在運行時,如果程序員想獲得這個進程所占內存空間中的內容,可以用gencore命令把這個進程對應的地址空間中的數據寫到一個指定的文件中,gencore命令并不會終止進程的運行。例如要把進程號為3682983的進程的內存鏡像寫到文件名為/tmp/core. 3682983的文件中,命令如下:

              $ gencore 3682983 /tmp/core.3682983

              如果gencore命令指定的core文件名帶有路徑,那么用chcore命令所修改的core設置中core文件名和core文件保存目錄就無效了。

            日本亚洲色大成网站WWW久久| 久久亚洲综合色一区二区三区| 亚洲色欲久久久久综合网| 精品人妻伦九区久久AAA片69| 久久人人爽人人爽人人片AV麻烦| 亚洲综合伊人久久大杳蕉| 亚洲中文字幕无码久久综合网| 久久国产精品久久精品国产| 久久精品中文字幕第23页| 久久亚洲日韩精品一区二区三区| 久久久久久久综合日本亚洲| 久久婷婷五月综合国产尤物app| av午夜福利一片免费看久久| 四虎亚洲国产成人久久精品| 久久精品国产69国产精品亚洲| 久久久国产视频| 狠狠综合久久综合中文88| 久久精品中文字幕无码绿巨人| 久久综合给合综合久久| 青青青国产成人久久111网站| 亚洲人成无码www久久久| 99久久婷婷国产一区二区| 久久精品国产清高在天天线| 伊人久久精品无码av一区| 亚洲国产成人久久综合一区77| 国产99久久久国产精免费| 久久99精品久久久久久久不卡 | 国产精品中文久久久久久久| 91精品国产综合久久四虎久久无码一级| 中文字幕乱码人妻无码久久| 一个色综合久久| 亚洲天堂久久久| 久久青青草视频| 久久精品亚洲AV久久久无码| 久久热这里只有精品在线观看| 久久天天婷婷五月俺也去| 偷窥少妇久久久久久久久| 一本久久a久久精品综合香蕉| 久久男人AV资源网站| 亚洲伊人久久综合中文成人网| 欧美成a人片免费看久久|