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

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

http://www.yibo1263.com 2008-5-5 9:26:11  來(lái)源: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é)束. 因?yàn)榭赡苡行┽尫艃?nèi)存代碼要到muntrace之后才運(yùn)行.

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

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

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

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

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

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

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

    附加說(shuō)明

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

    2. mtrace是個(gè)perl代碼, 如果你對(duì)符號(hào)地址與代碼文本的轉(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)試選項(xiàng)

    $export MALLOC_TRACE=a.log

    $./a.out

    $unset MALLOC_TRACE #記得執(zhí)行完后unset變量,否則可能運(yùn)行其他命令可能覆蓋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

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

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

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

 
 
 
 
最新文章

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

 
推薦文章
1
2
3
4
5
6
7
8
9
10
iPhone女孩微博爆紅 最寶貴東西換
大連護(hù)士門大尺度艷照高清組圖
中關(guān)村艷照門女主角詳記錄高清組
蘋果員工中毒門
宮如敏不雅照瘋傳 看張馨予韓一菲
深耕市場(chǎng) 永續(xù)經(jīng)營(yíng)——專訪百腦匯
優(yōu)派專業(yè)電子書 讓您回家旅途多姿
揭曉百萬(wàn)大獎(jiǎng)三星bada魅力綻放中
大明龍權(quán)“江湖英雄會(huì)”全國(guó)PK大
永恒之塔校園達(dá)人挑戰(zhàn)賽完美落幕
八卦圖解 More>>
iPhone女孩微博爆紅 最寶貴東西換 大連護(hù)士門大尺度艷照高清組圖
中關(guān)村艷照門女主角詳記錄高清組 宮如敏不雅照瘋傳 看張馨予韓一菲
蒙山县| 建昌县| 扎赉特旗| 朔州市| 张家川| 长汀县| 平塘县| 犍为县| 衡山县| 四平市| 西和县| 墨竹工卡县| 烟台市| 南开区| 和硕县| 马边| 周口市| 阳高县| 台前县| 万安县| 枣阳市| 贵阳市| 白山市| 盐池县| 东平县| 苗栗市| 莱西市| 盘山县| 绍兴市| 临朐县| 阳春市| 清远市| 内江市| 重庆市| 沙河市| 伊通| 梓潼县| 澄江县| 安远县| 余干县| 兴国县|