[發(fā)明專(zhuān)利]一種基于LTE協(xié)議棧的內(nèi)存池泄露的方法及其系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 202010057458.6 | 申請(qǐng)日: | 2017-01-25 |
| 公開(kāi)(公告)號(hào): | CN111324450B | 公開(kāi)(公告)日: | 2023-04-28 |
| 發(fā)明(設(shè)計(jì))人: | 朱有文 | 申請(qǐng)(專(zhuān)利權(quán))人: | 安科訊(福建)科技有限公司 |
| 主分類(lèi)號(hào): | G06F9/50 | 分類(lèi)號(hào): | G06F9/50 |
| 代理公司: | 福州市博深專(zhuān)利事務(wù)所(普通合伙) 35214 | 代理人: | 董晗 |
| 地址: | 350000 福建省福州市鼓*** | 國(guó)省代碼: | 福建;35 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 lte 協(xié)議 內(nèi)存 泄露 方法 及其 系統(tǒng) | ||
本發(fā)明公開(kāi)了一種基于LTE協(xié)議棧的內(nèi)存池泄露的方法及其系統(tǒng),方法包括:在內(nèi)存塊的頭部設(shè)置第一標(biāo)記、分配標(biāo)記、字符串指針和位置變量,在尾部設(shè)置第二標(biāo)記;若一內(nèi)存塊被分配,將分配標(biāo)記設(shè)置為第一字符,將字符串指針設(shè)置為申請(qǐng)函數(shù)名,將位置變量設(shè)置為申請(qǐng)位置;被釋放后,將分配標(biāo)記設(shè)置為第二字符;重新放入內(nèi)存池時(shí),檢測(cè)第一標(biāo)記和第二標(biāo)記是否正確;若第一標(biāo)記正確且第二標(biāo)記錯(cuò)誤,判定越界;根據(jù)字符串指針以及位置變量,定位內(nèi)存越界的位置;獲取分配標(biāo)記為第一字符的內(nèi)存塊;根據(jù)字符串指針記錄以及位置變量,定位內(nèi)存泄露位置。可在滿足嚴(yán)格時(shí)序要求且不影響協(xié)議棧正常工作的情況下,解決內(nèi)存池的內(nèi)存泄露及內(nèi)存越界問(wèn)題。
本案是以申請(qǐng)?zhí)枮?01710060454.1,申請(qǐng)日為2017年1月25日,名稱(chēng)為《基于LTE協(xié)議棧的內(nèi)存池問(wèn)題定位方法及其系統(tǒng)》的專(zhuān)利申請(qǐng)為母案的分案申請(qǐng)。
技術(shù)領(lǐng)域
本發(fā)明涉及內(nèi)存管理技術(shù)領(lǐng)域,尤其涉及一種一種基于LTE協(xié)議棧的內(nèi)存池泄露的方法及其系統(tǒng)。
背景技術(shù)
在C語(yǔ)言環(huán)境下,內(nèi)存的分配和釋放,可以直接使用系統(tǒng)申請(qǐng)/釋放函數(shù)接口。但是有以下弊端:
1、調(diào)用系統(tǒng)函數(shù),相對(duì)比較耗時(shí);
2、頻繁使用會(huì)產(chǎn)生大量的內(nèi)存碎片,從而降低程序運(yùn)行效率。
為了避免以上問(wèn)題,在項(xiàng)目中一般使用內(nèi)存池來(lái)代替系統(tǒng)函數(shù)進(jìn)行內(nèi)存管理。內(nèi)存池的初始結(jié)構(gòu)如圖1所示,在真正使用內(nèi)存之前,預(yù)先分配一定數(shù)量的內(nèi)存塊,當(dāng)需要申請(qǐng)內(nèi)存時(shí),就從這些預(yù)先分配的內(nèi)存塊中選擇,而不是直接使用系統(tǒng)函數(shù)進(jìn)行分配。內(nèi)存塊被分配后,如圖2所示。
內(nèi)存池算法一般關(guān)注于管理內(nèi)存(分配算法、釋放算法、不定長(zhǎng)內(nèi)存塊算法等),而沒(méi)有關(guān)注于內(nèi)存池的穩(wěn)定,即快速定位內(nèi)存池泄露、內(nèi)存塊使用時(shí)越界問(wèn)題。
內(nèi)存池泄露是指在從內(nèi)存池分配一個(gè)內(nèi)存塊后,應(yīng)該被釋放而沒(méi)有被釋放的情況;內(nèi)存塊使用時(shí)越界與數(shù)組越界類(lèi)似,比如向10字節(jié)大小的內(nèi)存塊寫(xiě)入20字節(jié)的數(shù)據(jù)。內(nèi)存池泄露會(huì)導(dǎo)致內(nèi)存最后耗盡,而越界則會(huì)導(dǎo)致程序運(yùn)行不穩(wěn)定。良好的編程習(xí)慣可以預(yù)防一部分的內(nèi)存池泄露、越界等問(wèn)題,但是,隨著項(xiàng)目代碼量的增加以及多人協(xié)作,完全避免幾乎是不可能做到的。內(nèi)存泄露和數(shù)組越界很容易引入,而難以定位,尤其是代碼量龐大、多線程的環(huán)境中更難以定位。
一般,使用mtrace、valgrind定位內(nèi)存泄露。而對(duì)于越界,則更難以處理,例如下述的代碼:
程序編譯時(shí)并不能發(fā)現(xiàn),且在程序運(yùn)行時(shí)并不一定會(huì)發(fā)生,只有在外部輸入超過(guò)10個(gè)字符的時(shí)候才會(huì)發(fā)生越界。
對(duì)于LTE協(xié)議棧,由于接入層的時(shí)序要求,它的調(diào)度周期是1毫秒,即在每1個(gè)毫秒內(nèi),必須完成接入設(shè)備的調(diào)度、資源的分配、編碼等等,所以,LTE協(xié)議棧的時(shí)序要求十分嚴(yán)格,即使在嵌入式環(huán)境下mtrace、valgrind可以移植使用,在跑LTE協(xié)議棧時(shí)使用不了,它會(huì)嚴(yán)重影響協(xié)議棧的運(yùn)行性能,導(dǎo)致不能正常工作。
在公開(kāi)號(hào)為CN105988921A的中國(guó)專(zhuān)利公開(kāi)文件中,提出了一種內(nèi)存越界的檢測(cè)方法及裝置,其方法包括:獲取分配給待檢測(cè)程序的內(nèi)存塊的起始地址和內(nèi)存管理頭信息,內(nèi)存管理頭信息包括:內(nèi)存塊的容量以及釋放標(biāo)記;檢測(cè)釋放標(biāo)記,若釋放標(biāo)記指示內(nèi)存塊已被釋放,則判斷待檢測(cè)程序發(fā)生內(nèi)存越界;若釋放標(biāo)記指示內(nèi)存塊未被釋放,則獲取待檢測(cè)程序的第一偏向地址,第一偏向地址為距起始地址最遠(yuǎn)的偏向地址;根據(jù)內(nèi)存塊的容量和起始地址,檢測(cè)第一偏向地址是否落在內(nèi)存塊的內(nèi)存范圍內(nèi);若第一偏向地址未落在內(nèi)存塊的內(nèi)存范圍內(nèi),則判斷待檢測(cè)程序發(fā)生內(nèi)存越界。但該方案的越界定位準(zhǔn)確率不高,例如,物理上連續(xù)的內(nèi)存塊1-4,假設(shè)在內(nèi)存塊1越界并修改內(nèi)存塊2-4的內(nèi)容,該方案找出的可能是內(nèi)存塊4的越界。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是:提出一種一種基于LTE協(xié)議棧的內(nèi)存池泄露的方法及其系統(tǒng),可快速定位出內(nèi)存泄露位置和內(nèi)存越界位置。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于安科訊(福建)科技有限公司,未經(jīng)安科訊(福建)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/202010057458.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:防誤觸模式的控制方法、裝置、移動(dòng)終端及存儲(chǔ)介質(zhì)
- 下一篇:一種啟動(dòng)復(fù)合光動(dòng)力菌劑生產(chǎn)系統(tǒng)用基礎(chǔ)原始培養(yǎng)基配方
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 一種GSM與LTE/LTE-A共模方法和系統(tǒng)
- 一種支持LTE的無(wú)線接入方法、系統(tǒng)及設(shè)備
- 一種在非LTE網(wǎng)絡(luò)測(cè)量LTE鄰區(qū)的方法、裝置
- 一種用戶(hù)設(shè)備駐留至LTE網(wǎng)絡(luò)的方法
- 一種駐留至LTE網(wǎng)絡(luò)的裝置、用戶(hù)設(shè)備
- 一種長(zhǎng)期演進(jìn)終端及其通訊方法
- 一種LTE終端的搜網(wǎng)方法和LTE終端
- 一種LTE的移動(dòng)分布系統(tǒng)
- 一種LTE網(wǎng)絡(luò)部署方法及裝置
- LTE小區(qū)結(jié)構(gòu)合理性的檢測(cè)方法及裝置
- 圖像診斷裝置、醫(yī)用系統(tǒng)以及協(xié)議管理方法
- 一種自動(dòng)協(xié)議識(shí)別方法及系統(tǒng)
- 客戶(hù)端中遞送協(xié)議數(shù)據(jù)單元的方法及相關(guān)裝置
- 遠(yuǎn)程通訊系統(tǒng)
- 一種基于可拼裝通信協(xié)議棧的通信方法及系統(tǒng)
- 一種實(shí)現(xiàn)國(guó)產(chǎn)平臺(tái)PXEBOOT的協(xié)議架構(gòu)
- CBTC通信系統(tǒng)協(xié)議解析方法、協(xié)議庫(kù)管理方法
- 一種協(xié)議轉(zhuǎn)換的方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種用于燈光控制的協(xié)議轉(zhuǎn)換系統(tǒng)及方法
- 一種通用工藝人工智能物聯(lián)網(wǎng)網(wǎng)關(guān)





