亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 10637 | 回復(fù): 12
打印 上一主題 下一主題

求:內(nèi)核態(tài)下內(nèi)存泄露檢測(cè)工具 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-07-04 16:33 |只看該作者 |倒序?yàn)g覽
linux用戶態(tài)下用于內(nèi)存調(diào)試、檢測(cè)內(nèi)存泄露的工具有很多,比如常用的valgrind等,但是在linux內(nèi)核態(tài)下寫驅(qū)動(dòng),寫模塊也經(jīng)常會(huì)出現(xiàn)內(nèi)存的各種問題,而且在內(nèi)核態(tài)下調(diào)試可能更為麻煩一些,那么為什么沒聽說過內(nèi)核態(tài)下有類似的內(nèi)存調(diào)試工具呢。。。

   但是目前自己需要這樣的一種工具用于平時(shí)使用,不知道有沒有哪些 開源的 or 商用的 or 自己開發(fā)的 ,用于內(nèi)核態(tài)下內(nèi)存泄露檢測(cè)的工具可供參考,小弟在此先謝過了~~~

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2011-07-04 16:35 |只看該作者
當(dāng)然,內(nèi)存泄露的檢測(cè)只是一方面,內(nèi)核態(tài)下經(jīng)常會(huì)發(fā)生的 踩內(nèi)存 現(xiàn)象,比如破壞了系統(tǒng)堆棧等,也是需要解決的一個(gè)重點(diǎn)內(nèi)容。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2011-07-05 09:43 |只看該作者
沒有哪位大牛能給點(diǎn)意見嗎。。。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2011-07-05 14:49 |只看該作者
linux用戶態(tài)下用于內(nèi)存調(diào)試、檢測(cè)內(nèi)存泄露的工具有很多,比如常用的valgrind等,但是在linux內(nèi)核態(tài)下寫驅(qū)動(dòng) ...
luoyan_xy 發(fā)表于 2011-07-04 16:33



    內(nèi)核內(nèi)置許多內(nèi)存泄漏檢測(cè),比如slab debug可以在make menuconfig下面的kernel hacking里找

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2011-07-05 16:55 |只看該作者
slab debug貌似只能針對(duì)通過slab分配的內(nèi)存,如果通過kmalloc或vmalloc分配的內(nèi)存應(yīng)該就不能起作用了吧。

  現(xiàn)在在網(wǎng)上搜到了一個(gè) kmemcheck,也已經(jīng)包含在內(nèi)核,正在研究,不知道效果如何,有沒有使用過的交流下經(jīng)驗(yàn)

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2011-07-05 22:02 |只看該作者
slab debug貌似只能針對(duì)通過slab分配的內(nèi)存,如果通過kmalloc或vmalloc分配的內(nèi)存應(yīng)該就不能起作用了吧。
...
luoyan_xy 發(fā)表于 2011-07-05 16:55



    kmalloc在小于4k的時(shí)候也是走的slub,內(nèi)核態(tài)很少用vmalloc,主要是buddy和slub的內(nèi)存泄露

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2011-07-06 10:05 |只看該作者
回復(fù) 6# unbutun


    這個(gè)內(nèi)存泄露的檢測(cè)算一方面,另外一個(gè)問題:內(nèi)核模塊中臨時(shí)變量的越界訪問容易破壞到內(nèi)核堆棧返回值esp、ebp寄存器的值,那么對(duì)于這種情況有沒有什么比較好的檢測(cè)方法。

   像昨天看到的kmemcheck也不能支持棧地址的檢測(cè)。

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2011-07-06 13:18 |只看該作者
回復(fù) 6# unbutun


    就算kmalloc大于4k,也走slab,你可以通過cat /proc/slabinfo來驗(yàn)證,如果實(shí)在不確定可以通過源碼驗(yàn)證,kmalloc是基于slab接口上的應(yīng)用,兄弟,如果你的回答不太確定的話,至少給個(gè)準(zhǔn)確度,要嚴(yán)謹(jǐn)啊,千萬不能誤導(dǎo)別人啊

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2011-07-06 19:52 |只看該作者
回復(fù) 8# chenrvmldd


首先請(qǐng)看清是小于

其次,請(qǐng)看下內(nèi)核代碼:

static __always_inline void *kmalloc(size_t size, gfp_t flags)
{
        if (__builtin_constant_p(size)) {
                if (size > PAGE_SIZE)
                        return kmalloc_large(size, flags);

                if (!(flags & SLUB_DMA)) {
                        struct kmem_cache *s = kmalloc_slab(size);

                        if (!s)
                                return ZERO_SIZE_PTR;

                        return kmem_cache_alloc(s, flags);
                }
        }
        return __kmalloc(size, flags);
}

最基本的東西

不知道你上面的話的依據(jù)是什么?

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2011-07-06 19:54 |只看該作者
回復(fù) 7# luoyan_xy


    好像gcc有個(gè)功能可以檢測(cè)棧溢出,具體忘了叫什么,曾經(jīng)在ibm的那個(gè)網(wǎng)站上見過,你查查
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP