Rss & SiteMap

曙海教育集團(tuán)論壇 http://www.bjzhda.cn

曙海教育集團(tuán)論壇
共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]
[瀏覽完整版]

標(biāo)題:如何使用新版HooKlogger查找內(nèi)存泄露

1樓
wangxinxin 發(fā)表于:2010-12-3 13:54:40
我才學(xué)塞班1個(gè)多星期吧,對(duì)其理解還不是很透徹,不過(guò)現(xiàn)在已經(jīng)會(huì)使用HOOKLOGGER來(lái)找內(nèi)存泄露了,這個(gè)工具還是蠻準(zhǔn)的,由于官方最新版的安裝方法和老版本的稍微有些區(qū)別了,所以導(dǎo)致很多人都安裝失敗,我也是看了鬼人王大哥的帖子后才知道有這個(gè)軟件的,不過(guò)鬼人王大哥的帖子的安裝方法貌似已經(jīng)過(guò)時(shí)了,反正我安了后模擬器再也啟動(dòng)不了了,導(dǎo)致GHOST了1次,還好備份了。
首先建議大家設(shè)置好環(huán)境后一定要GHOST備份呀,要是模擬器啟動(dòng)不了了那就麻煩了,費(fèi)時(shí)費(fèi)力啊。

這個(gè)方法適用于第3版SDK,貌似新的HOOK工具不能用于低于2版FP3之前的版本,不保證該帖子的時(shí)效性,具體還得看hooklogger官網(wǎng)(我是直接學(xué)的3版,對(duì)2版一點(diǎn)也不懂)。
首先去官網(wǎng)下載安裝包(如果能從人王大哥那要來(lái)老版本的話,可以用他的方法來(lái)安裝,不過(guò)新版本不用設(shè)置環(huán)境變量,不用重啟如果沒記錯(cuò)的話,就1條命令搞定):
1. 開始-運(yùn)行 CMD,在控制臺(tái)下邊輸入:SetupHooks  S60_3rd_MR:com.nokia.s60

如上圖所示,因?yàn)槲乙呀?jīng)安裝好了,所以提示我有個(gè)目標(biāo)存在。
SetupHooks是命令,空格后是我3版的版本號(hào)吧,也就是在控制臺(tái)下輸入devices后可以看到的,也可能你們和我的不一樣,我們老師推薦弄MR的。
輸入完命令按完回車后,會(huì)有提示,提示很簡(jiǎn)單看看就能知道成功與否。

2.好了,安完后就可以使用它方便快捷的來(lái)找內(nèi)存泄露了,先運(yùn)行l(wèi)og,再運(yùn)行模擬器哦,先說(shuō)下我的環(huán)境:3版SDK,IDE安了VS2005和CARBIDE,不過(guò)主要用2005開發(fā)
打開hooklogger后標(biāo)題會(huì)顯示沒有和模擬器連接,如下圖:

接著我們啟動(dòng)模擬器吧(我估計(jì)是安裝某個(gè)環(huán)節(jié)出了點(diǎn)問題,反正一啟動(dòng)就提示leave了(出現(xiàn)時(shí)會(huì)自動(dòng)進(jìn)入debug模式,選continue就行),不過(guò)無(wú)視它吧,狂點(diǎn)運(yùn)行肯定可以啟動(dòng)模擬器)
啟動(dòng)成功后進(jìn)入我們的目標(biāo)工程,運(yùn)行一遍直到內(nèi)存泄露為止,接著模擬器界面出現(xiàn)提示說(shuō)內(nèi)存泄露在內(nèi)存的某個(gè)位置,如下圖:

接著我們切換到log的界面吧,找到Threads(最后1個(gè))這個(gè)標(biāo)簽,把下拉條拉到最底部,我們能看到我們工程的這個(gè)線程,如下圖:

這個(gè)是我的工程名,一時(shí)心急,名字敲錯(cuò)了,嘿嘿,這個(gè)一般也是在線程的最底部的位置,接著右鍵單擊,選擇如圖:

接著log會(huì)自己跳轉(zhuǎn)到Heap標(biāo)簽下,里面顯示了內(nèi)存地址,如圖:

對(duì)比一下模擬器報(bào)錯(cuò)的地址很輕易就找到了位置,我們雙擊一下,自動(dòng)進(jìn)去一個(gè)窗口,里面顯示了1堆代碼,一般里面列出的第1個(gè)函數(shù)就是內(nèi)存泄露的位置,如圖(該點(diǎn)是從人王大哥那學(xué)到的):

接著我們雙擊進(jìn)入這個(gè)函數(shù),也會(huì)自動(dòng)蹦出1個(gè)對(duì)話框窗體,里面高亮部分就是我們出現(xiàn)泄露的地方,如圖:

接著我們就可以去代碼里找了,注意不一定出現(xiàn)泄露的地方就是在該句代碼附近,而只是表明,這個(gè)泄露跟這句代碼是有關(guān)系的,果然我這new了1個(gè)空間,很可能是我沒有釋放導(dǎo)致泄露的,那就去釋放的地方看看吧。

先解釋一下我這個(gè)有意的泄露吧,我這定義了1個(gè)局部指針,但不是在這個(gè)類里析構(gòu)把它放掉的,我定義了1個(gè)rpointerarray數(shù)組保存這些指針,而這些指針都是保存在我自定義的1個(gè)9宮格類里,所以自然我們要去我9宮格類的析構(gòu)里看看到底問題出在哪,如圖:

果然,我的數(shù)組只reset了沒有把new在堆上的數(shù)據(jù)給釋放,所以導(dǎo)致泄露了,只要把注掉的那句代碼替換reset就OK了。
接著我們重新build一下工程吧,這個(gè)時(shí)候可能會(huì)報(bào)錯(cuò),沒事,轉(zhuǎn)到log界面,這時(shí)它會(huì)碰出1個(gè)詢問框,大概就是左邊是個(gè)relloc按鈕右邊是個(gè)release按鈕,我選擇了左邊的按鈕,接著build一切OK。
END。
由于本人接觸計(jì)算機(jī)時(shí)間有限,這也是在技術(shù)論壇上的第1個(gè)帖子,我是今年7月才第1次接觸C語(yǔ)言的,現(xiàn)在塞班也才學(xué)1個(gè)多星期,肯定會(huì)有所紕漏,希望大家指正,在次再次感謝人王大哥的帖子,如果有人轉(zhuǎn)載希望表名出自devdiv
共1 條記錄, 每頁(yè)顯示 10 條, 頁(yè)簽: [1]

Copyright © 2000 - 2009 曙海教育集團(tuán)
Powered By 曙海教育集團(tuán) Version 2.2
Processed in .01563 s, 2 queries.
主站蜘蛛池模板: 99亚洲精品视频| 精品国产一区二区三区久久| 亚洲Av鲁丝一区二区三区| 国内精品伊人久久久久妇| 精品国产一区二区三区色欲| 中文字幕电影在线| 国产l精品国产亚洲区在线观看| 日韩国产欧美精品在线| 91香蕉视频直播| 久久精品丝袜高跟鞋| 国产偷自拍视频| 扒美女内裤摸她的机机| 美女扒开裤子让男人桶视频 | 女人张开腿让男人桶视频免费大全| 美女把腿扒开让男人桶爽了| 两个男gay的做污污的过程| 同学浓精灌麻麻| 天天做天天爱天天综合网| 欧美视频一区在线观看| 16女性下面扒开无遮挡免费| 亚洲av永久无码精品秋霞电影影院| 国产精品乱码在线观看| 日本视频网站在线www色| 美女黄频免费网站| 99re热视频| 亚洲av无码码潮喷在线观看| 国产免费人成在线视频| 成人午夜精品久久久久久久小说 | 国产麻传媒精品国产AV| 果冻传媒麻豆电影| 青青网在线视频| wwwfuqercom| 亚洲丝袜制服欧美另类| 国产h视频在线观看网站免费| 很黄很刺激很爽的免费视频| 欧美黑人乱大交| 调教15小男生gay脱裤子| a一级日本特黄aaa大片| 亚洲av永久中文无码精品综合| 国产三级日产三级韩国三级| 国产高清乱理论片在线看|