嵌入式系統內存統計方法及裝置的制造方法
【技術領域】
[0001]本發明涉及嵌入式系統技術領域,尤其涉及一種嵌入式系統內存統計方法及裝置。
【背景技術】
[0002]目前,由于嵌入式系統具有可靠性和實時性等優點,嵌入式系統已廣泛應用于各個領域。
[0003]內存是嵌入式系統的應用程序運行的主要場所,實時掌握嵌入式內存的使用情況對于嵌入式系統的運行效率是至關重要的。檢測內存泄漏問題的關鍵在于能夠在線獲取內存使用的分布情況,即能夠獲取當前已使用內存被哪些程序占用。現有技術一般通過記錄每一塊內存申請的文件、行號和堆棧信息等來記錄內存的使用情況,但是用于記錄內存申請的文件、行號和堆棧信息的數據所占用的內存較大,造成嵌入式系統中應用程序的可用內存過小。
【發明內容】
[0004]本發明的主要目的在于提供一種嵌入式系統內存統計方法及裝置,旨在解決用于記錄內存占用情況的數據占用內存空間較大的技術問題。
[0005]為了實現上述目的,本發明提供一種嵌入式系統內存統計方法,所述嵌入式系統內存統計方法包括以下步驟:
[0006]在應用程序申請內存時,獲取與該應用程序申請的內存所對應預設的標識號,并將與該標識號對應的使用狀態信息設置為已使用狀態;
[0007]在應用程序釋放內存時,獲取與該應用程序釋放的內存所對應預設的標識號,并將與該標識號對應的使用狀態信息設置為未使用狀態;
[0008]根據當前設置為已使用狀態的使用狀態信息所對應的標志號獲取所述嵌入式系統當前運行的應用程序所占用的內存。
[0009]優選地,所述在應用程序申請內存時,獲取與該應用程序申請的內存所對應預設的標識號,并將與該標識號對應的使用狀態信息設置為已使用狀態的步驟以及所述在應用程序釋放內存時,獲取與該應用程序釋放的內存所對應預設的標識號,并將與該標識號對應的使用狀態信息設置為未使用狀態的步驟之前還包括:
[0010]根據預設定義規則對嵌入式系統的每塊內存設置標識號。
[0011]優選地,所述根據預設定義規則對嵌入式系統的每塊內存設置標識號的步驟之后還包括:
[0012]創建各所述標識號、與各所述標識號對應的內存信息、以及與各所述標識號對應的各塊內存的使用狀態信息之間的一一對應關系,其中,與各所述標識號對應的使用狀態信息的初始值均為未使用狀態。
[0013]優選地,所述根據當前設置為已使用狀態的使用狀態信息所對應的標識號獲取所述嵌入式系統當前運行的應用程序所占用的內存的步驟包括:
[0014]在所述對應關系中查找當前處于已使用狀態的使用狀態信息;
[0015]根據查找獲得的使用狀態信息在所述對應關系中獲取對應的內存信息;
[0016]根據獲取的內存信息獲取所述嵌入式系統當前運行的應用程序所占用的內存。
[0017]優選地,所述根據當前設置為已使用狀態的使用狀態信息所對應的標志號獲取所述嵌入式系統當前運行的應用程序所占用的內存的步驟之后還包括:
[0018]每隔預設時間后,根據當前查找獲得的使用狀態信息在所述對應關系中獲取對應的標識號和內存信息;
[0019]將當前查找獲得的使用狀態信息,以及根據所述查找獲得的使用狀態信息獲取的標識號和內存信息發送至預設存儲模塊中。
[0020]此外,為了實現上述目的,本發明還提供一種嵌入式系統內存統計裝置,所述嵌入式系統內存統計裝置包括:
[0021]第一處理模塊,用于在應用程序申請內存時,獲取與該應用程序申請的內存所對應預設的標識號,并將與該標識號對應的使用狀態信息設置為已使用狀態;
[0022]第二處理模塊,用于在應用程序釋放內存時,獲取與該應用程序釋放的內存所對應預設的標識號,并將與該標識號對應的使用狀態信息設置為未使用狀態;
[0023]統計模塊,用于根據當前設置為已使用狀態的使用狀態信息所對應的標志號獲取所述嵌入式系統當前運行的應用程序所占用的內存。
[0024]優選地,所述嵌入式系統內存統計裝置還包括:
[0025]設置模塊,用于根據預設定義規則對嵌入式系統的每塊內存設置標識號。
[0026]優選地,所述嵌入式系統內存統計裝置還包括:
[0027]創建模塊,用于創建各所述標識號、與各所述標識號對應的內存信息、以及與各所述標識號對應的各塊內存的使用狀態信息之間的對應關系,其中,與各所述標識號對應的使用狀態信息的初始值均為未使用狀態。
[0028]優選地,所統計模塊包括:
[0029]查找單元,用于在所述對應關系中查找當前處于已使用狀態的使用狀態信息;
[0030]獲取單元,用于根據查找獲得的使用狀態信息在所述對應關系中獲取對應的內存信息;
[0031]統計單元,用于根據獲取的內存信息獲取所述嵌入式系統當前運行的應用程序所占用的內存。
[0032]優選地,所述嵌入式系統內存統計裝置還包括:
[0033]獲取模塊,用于在每隔預設時間后,根據當前查找獲得的使用狀態信息在所述對應關系中獲取對應的標識號和內存彳目息;
[0034]發送模塊,用于將當前查找獲得的使用狀態信息,以及根據所述查找獲得的使用狀態信息獲取的標識號和內存信息發送至預設存儲模塊中。
[0035]本發明提供的嵌入式系統內存統計方法及裝置,在應用程序申請內存時,獲取與該應用程序申請的內存所對應預設的標識號,并將與該標識號對應的使用狀態信息設置為已使用狀態;在應用程序釋放內存時,獲取與該應用程序釋放的內存所對應預設的標識號,并將與該標識號對應的使用狀態信息設置為未使用狀態;根據當前設置為已使用狀態的使用狀態信息所對應的標志號獲取所述嵌入式系統當前運行的應用程序所占用的內存,標識號可采用整型數據,通過標識號就能夠記錄到內存的模塊級別信息,有效地降低了用于記錄內存占有情況的數據所占用的內存空間,降低了內存空間的額外開銷,從而增加了嵌入式系統中的應用程序的可用內存。
【附圖說明】
[0036]圖1為本發明嵌入式系統內存統計方法第一實施例的流程示意圖;
[0037]圖2為本發明嵌入式系統內存統計方法第二實施例的流程示意圖;
[0038]圖3為本發明嵌入式系統內存統計方法第三實施例的流程示意圖;
[0039]圖4為圖1中步驟S30的細化流程示意圖;
[0040]圖5為本發明嵌入式內存統計方法第四實施例的流程示意圖;
[0041]圖6為本發明嵌入式系統內存統計裝置第一實施例的功能模塊示意圖;
[0042]圖7為本發明嵌入式系統內存統計裝置第二實施例的功能模塊示意圖;
[0043]圖8為本發明嵌入式系統內存統計裝置第三實施例的功能模塊示意圖;
[0044]圖9為圖6中統計模塊的細化功能模塊示意圖;
[0045]圖10為本發明嵌入式系統內存統計裝置第四實施例的功能模塊示意圖。
[0046]本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0047]應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0048]本發明提供一種嵌入式系統內存統計方法。
[0049]參照圖1,圖1為本發明嵌入式系統內存統計方法第一實施例的流程示意圖。
[0050]在一實施例中,該嵌入式系統內存統計方法包括以下步驟:
[0051]步驟S10,在應用程序申請內存時,獲取與該應用程序申請的內存所對應預設的標識號,并將與該標識號對應的使