[發明專利]一種調試鎖的方法及模塊有效
| 申請號: | 201410225366.9 | 申請日: | 2014-05-26 |
| 公開(公告)號: | CN104035829B | 公開(公告)日: | 2018-01-12 |
| 發明(設計)人: | 李鵬 | 申請(專利權)人: | 漢柏科技有限公司 |
| 主分類號: | G06F11/07 | 分類號: | G06F11/07 |
| 代理公司: | 北京路浩知識產權代理有限公司11002 | 代理人: | 李迪 |
| 地址: | 300384 天津市華*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 調試 方法 模塊 | ||
技術領域
本發明涉及計算機技術,具體涉及一種調試鎖的方法及模塊。
背景技術
鎖是各種操作系統都提供的基礎的接口,其用來保證多核處理器任務執行的正確性。在使用上,鎖是配套使用的,有加鎖操作就必須對應有解鎖操作,如果加鎖了但是沒有解鎖,那么就會造成嚴重的死鎖問題。同時由于使用不當,可能造成鎖的數據結構被破壞,這就導致無法進行加鎖操作。因此在鎖的使用過程中,需要獲知哪里加鎖了而沒有解鎖,同時判斷該鎖是否已經被破壞。
現有技術方案通常在加鎖的接口中增加一個行號,當死鎖時查找對應的鎖的加鎖的代碼,找到對應的行號,從而獲知具體哪個位置加鎖了,然后通過查代碼的方法來找出沒有解鎖的地方。
但是,現有技術方案僅僅是通過添加行號來找具體加鎖位置,只能調試死鎖時的情況,當鎖被破壞時,該方案中并不能檢測到這一情況,因而不能正確地做出處理。
發明內容
(一)解決的技術問題
針對現有技術的不足,本發明提供一種調試鎖的方法及模塊,其主要在鎖的數據結構中添加一段用于校驗的前綴,來判斷出現錯誤時的鎖的數據結構是否被破壞,繼而可以有效區分鎖自身的錯誤和內存錯誤所導致的鎖的異常。
(二)技術方案
為實現以上目的,本發明通過以下技術方案予以實現:
一種調試鎖的方法,其特征在于,該方法包括:
在鎖的數據結構中添加長度固定的第一前綴;
生成鎖時,給所述第一前綴所在字段賦一特定值,并所述特定值與鎖的代號對應存儲;
鎖出現錯誤時,判斷該鎖在所述第一前綴所在字段的值是否與存儲的特定值相等,若相等則判定該錯誤屬于鎖自身的錯誤。
優選地,該方法還包括:在鎖的數據結構中添加長度固定的第一后綴;調用加鎖時,將所用加鎖函數的函數名存入所述第一后綴;鎖出現錯誤時,若該錯誤被判定屬于鎖自身的錯誤,則通過該鎖在所述第一后綴存儲的內容找到所用的加鎖函數。
優選地,所述第一前綴的長度固定為4字節。
優選地,該方法還包括:在鎖的數據結構中添加長度固定的第二后綴;調用加鎖時,將調用語句所在行號存入所述第二后綴;鎖出現錯誤時,若該錯誤被判定屬于鎖自身的錯誤,則通過該鎖在所述第二后綴存儲的內容找到調用語句所在位置。
優選地,該方法還包括:鎖出現錯誤時,若該鎖在所述第一前綴所在字段的值與存儲的特定值不相等,則使用內存檢測的方法定位錯誤位置。
一種調試鎖的模塊,其特征在于,該模塊包括:
第一前綴添加單元,用于在鎖的數據結構中添加長度固定的第一前綴;
賦值存儲單元,用于在生成鎖時,給所述第一前綴所在字段賦一特定值,并所述特定值與鎖的代號對應存儲;
錯誤識別單元,用于在鎖出現錯誤時,判斷該鎖在所述第一前綴所在字段的值是否與存儲的特定值相等,若相等則判定該錯誤屬于鎖自身的錯誤。
優選地,所述模塊還包括:第一后綴添加單元,用于在鎖的數據結構中添加長度固定的第一后綴;函數名存儲單元,用于在調用加鎖時,將所用加鎖函數的函數名存入所述第一后綴;函數查找單元,用于在鎖出現錯誤時,若該錯誤被判定屬于鎖自身的錯誤,則通過該鎖在所述第一后綴存儲的內容找到所用的加鎖函數。
優選地,所述第一前綴的長度固定為4字節。
優選地,所述模塊還包括:第二后綴添加單元,用于在鎖的數據結構中添加長度固定的第二后綴;行號存儲單元,用于在調用加鎖時,將調用語句所在行號存入所述第二后綴;語句定位單元,用于在鎖出現錯誤時,若該錯誤被判定屬于鎖自身的錯誤,則通過該鎖在所述第二后綴存儲的內容找到調用語句所在位置。
優選地,所述模塊還包括:錯誤處理單元,用于在鎖出現錯誤時,若該鎖在所述第一前綴所在字段的值與存儲的特定值不相等,則使用內存檢測的方法定位錯誤位置。
(三)有益效果
本發明至少具有如下的有益效果:
本發明通過在鎖的數據結構中增加一段長度固定的第一前綴,并在生成鎖時給所述第一前綴所在字段賦一特定值,并對應地存儲起來,用于對鎖的數據結構進行校驗,判斷鎖的相關數據是否已經被破壞。
相對于現有技術而言,其在進行錯誤處理之前,先區分了鎖自身的錯誤和內存錯誤所導致的鎖的異常,所以可以在確定鎖自身并不存在問題的情況下再進行對應的處理,因而總體上來說其處理的成功率更高。
當然,實施本發明的任一產品或方法并不一定需要同時達到以上所述的所有優點。
附圖說明
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于漢柏科技有限公司,未經漢柏科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410225366.9/2.html,轉載請聲明來源鉆瓜專利網。





