亚洲AV无码乱码在线观看不卡|最新大伊香蕉精品视频在线|亚洲不卡av一区二区|国产美女无遮挡免费

登錄論壇 | 注冊會員 設(shè)為首頁 | 收藏本站
當前位置 : 首頁>軟件學院>操作系統(tǒng)>linux系統(tǒng)>正文
 
Linux操作系統(tǒng)內(nèi)存泄漏的檢查方法

http://m.yibo1263.com 2008-5-5 9:26:11  來源:ccident  編輯:張佳奇
 
1. 在需要內(nèi)存泄漏檢查的代碼的開始調(diào)用void mtrace(void) (在mcheck.h中? 有聲明). mtrace為malloc等函數(shù)安裝hook, 用于記錄內(nèi)存分配信息.在需要內(nèi)存泄漏檢查的代碼的結(jié)束調(diào)用void muntrace(void).

    注意: 一般情況下不要調(diào)用muntrace, 而讓程序自然結(jié)束. 因為可能有些釋放內(nèi)存代碼要到muntrace之后才運行.

    2. 用debug模式編譯被檢查代碼(-g或-ggdb)

    3. 設(shè)置環(huán)境變量MALLOC_TRACE為一文件名, 這一文件將存有內(nèi)存分配信息.

    4. 運行被檢查程序, 直至結(jié)束或muntrace被調(diào)用.

    5. 用mtrace命令解析內(nèi)存分配Log文件($MALLOC_TRACE)

    (mtrace foo $MALLOC_TRACE, where foo is the executible name)

    如果有內(nèi)存泄漏, mtrace會輸出分配泄漏

    內(nèi)存的代碼位置,以及分配數(shù)量.

    附加說明

    1. 可以將mtrace, muntrace放入信號處理函數(shù)(USR1, USR2), 以動態(tài)地進行內(nèi)存泄漏檢查控制.

    2. mtrace是個perl代碼, 如果你對符號地址與代碼文本的轉(zhuǎn)換感興趣, 可以讀一下.

    3. again, 盡量不要用muntrace()

    For C++ Leak:

    檢查內(nèi)存泄漏的方法除glibc提供外;還可以試試一些專用的程序。

    很奇怪,redhat 9 居然不帶mtrace perl腳本,只好下載gcc源碼編譯了

    wget --passive-ftp ftp://rpmfind.net/linux/redhat/9... -2.3.2-11.9.src.rpm

    rpm -ivh glibc*.src.rpm

    cd /usr/src/redhat/SPECS/

    rpmbuild -ba glibc-9.spec

    cd /var/tmp/glibc-2.3.2-root/usr/bin/

    cp mtrace /usr/bin/

    調(diào)試方法如下:

    vi a.c

    1 #include

    2

    3 int main()

    4 {

    5 mtrace();

    6 malloc(10);

    7 malloc(16);

    8 return 0;

    9 }

    $gcc -g a.c #記得編譯帶-g調(diào)試選項

    $export MALLOC_TRACE=a.log

    $./a.out

    $unset MALLOC_TRACE #記得執(zhí)行完后unset變量,否則可能運行其他命令可能覆蓋log

    $mtrace a.out a.log

    Memory not freed:

    -----------------

    Address Size Caller

    0x09b08378 0xa at /XXX/a.c:6

    0x09b08388 0x10 at /XXX/a.c:7

    可以看到,會顯示未釋放動態(tài)空間的代碼具體位置。

 
收藏】【打印】【進入論壇
  相關(guān)文章:

·Linux防火墻偽裝機制抵抗黑客攻擊
·簡單介紹Linux內(nèi)核安全入侵偵察系統(tǒng) 
·使用國外Linux主機做網(wǎng)站要注意2點 
·大企業(yè)后端使用Linux十大常見方式 
·化解四種入侵Linux服務(wù)器方法 
·蓋茨新個人網(wǎng)站使用Linux服務(wù)器
·Linux系統(tǒng)安全知識 防范黑客攻擊
·Linux服務(wù)器維護的四大法寶
·在關(guān)閉的Linux機器實現(xiàn)防火墻功能
·Linux系統(tǒng)清除Grub的幾種方法
·Linux改善FTP服務(wù)器的安全性

 
 
 
 
最新文章

中關(guān)村艷照門女主角詳記錄高清組圖 
大連護士門大尺度艷照高清組圖
iPhone女孩微博爆紅 最寶貴東西換iPhon
團購鼻祖Groupon中國揭秘:快與慢的商業(yè)
Spil Games發(fā)布新的品牌形象
1800配置一臺主機 不要顯示器
反恐精英之父內(nèi)維爾:改變電腦游戲銷售
團購網(wǎng)站黎明之前:中國市場慘烈廝殺不
聯(lián)想V360筆記本模特寫真
愛國者第四代移動硬盤將面市、低電壓保

 
推薦文章
1
2
3
4
5
6
7
8
9
10
iPhone女孩微博爆紅 最寶貴東西換
大連護士門大尺度艷照高清組圖
中關(guān)村艷照門女主角詳記錄高清組
蘋果員工中毒門
宮如敏不雅照瘋傳 看張馨予韓一菲
深耕市場 永續(xù)經(jīng)營——專訪百腦匯
優(yōu)派專業(yè)電子書 讓您回家旅途多姿
揭曉百萬大獎三星bada魅力綻放中
大明龍權(quán)“江湖英雄會”全國PK大
永恒之塔校園達人挑戰(zhàn)賽完美落幕
八卦圖解 More>>
iPhone女孩微博爆紅 最寶貴東西換 大連護士門大尺度艷照高清組圖
中關(guān)村艷照門女主角詳記錄高清組 宮如敏不雅照瘋傳 看張馨予韓一菲
民乐县| 屯门区| 锡林浩特市| 罗山县| 武城县| 佳木斯市| 扬中市| 绥中县| 余姚市| 娱乐| 德清县| 连平县| 北辰区| 天台县| 江都市| 昂仁县| 礼泉县| 崇义县| 长汀县| 宜阳县| 邵武市| 太白县| 建平县| 大田县| 潮州市| 肃南| 曲阳县| 同江市| 阿拉善右旗| 洪湖市| 资阳市| 灵山县| 法库县| 古浪县| 新兴县| 甘德县| 陆良县| 沈阳市| 乌鲁木齐市| 沛县| 巴林左旗|