[發(fā)明專利]熱補(bǔ)丁的測試方法、裝置和服務(wù)器在審
| 申請?zhí)枺?/td> | 202010952783.9 | 申請日: | 2020-09-11 |
| 公開(公告)號: | CN112084112A | 公開(公告)日: | 2020-12-15 |
| 發(fā)明(設(shè)計(jì))人: | 程相群 | 申請(專利權(quán))人: | 北京金山云網(wǎng)絡(luò)技術(shù)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F21/57 |
| 代理公司: | 北京超凡宏宇專利代理事務(wù)所(特殊普通合伙) 11463 | 代理人: | 榮穎佳 |
| 地址: | 100000 北京市海淀*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 補(bǔ)丁 測試 方法 裝置 服務(wù)器 | ||
1.一種熱補(bǔ)丁的測試方法,其特征在于,所述方法包括:
基于第一調(diào)用指令的第一指令起始地址和第一指令長度,以及預(yù)設(shè)的熱補(bǔ)丁中修復(fù)函數(shù)的函數(shù)地址,獲取目標(biāo)函數(shù)被修復(fù)后,所述第一調(diào)用指令的第一預(yù)期指令序列和第一實(shí)際指令序列;其中,所述第一調(diào)用指令用于指示調(diào)用所述目標(biāo)函數(shù)或所述修復(fù)函數(shù);所述熱補(bǔ)丁用于修復(fù)所述目標(biāo)函數(shù);
如果所述第一預(yù)期指令序列和所述第一實(shí)際指令序列相匹配,確定所述熱補(bǔ)丁生效。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于第一調(diào)用指令的第一指令起始地址和第一指令長度,以及預(yù)設(shè)的熱補(bǔ)丁中修復(fù)函數(shù)的函數(shù)地址,獲取目標(biāo)函數(shù)被修復(fù)后,所述第一調(diào)用指令的第一預(yù)期指令序列和第一實(shí)際指令序列的步驟包括:
基于所述第一調(diào)用指令的第一指令起始地址和第一指令長度,以及所述修復(fù)函數(shù)的函數(shù)地址,確定所述目標(biāo)函數(shù)被修復(fù)后,所述第一調(diào)用指令的第一預(yù)期指令序列;
當(dāng)所述目標(biāo)函數(shù)被修復(fù)后,查詢所述第一調(diào)用指令的第一實(shí)際指令序列。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于所述第一調(diào)用指令的第一指令起始地址和第一指令長度,以及所述修復(fù)函數(shù)的函數(shù)地址,確定所述目標(biāo)函數(shù)被修復(fù)后,所述第一調(diào)用指令的第一預(yù)期指令序列的步驟包括:
計(jì)算所述第一指令起始地址與所述第一指令長度的和,得到第一計(jì)算地址;
將所述修復(fù)函數(shù)的函數(shù)地址減去所述第一計(jì)算地址,得到所述修復(fù)函數(shù)對應(yīng)的指令偏移;
基于所述指令偏移,確定所述第一調(diào)用指令的第一預(yù)期指令序列。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述當(dāng)所述目標(biāo)函數(shù)被修復(fù)后,查詢所述第一調(diào)用指令的第一實(shí)際指令序列的步驟包括:
將所述第一指令起始地址寫入第一操作對象中,觸發(fā)所述第一操作對象對應(yīng)的寫回調(diào)函數(shù),以將所述第一指令起始地址轉(zhuǎn)換為預(yù)設(shè)格式的第一指令起始地址,并存儲至內(nèi)存;
將所述第一指令長度寫入第二操作對象中,觸發(fā)第二操作對象對應(yīng)的寫回調(diào)函數(shù),以將所述第一指令長度轉(zhuǎn)換為預(yù)設(shè)格式的第一指令長度,并存儲至內(nèi)存;
觸發(fā)第三操作對象對應(yīng)的寫回調(diào)函數(shù),以從所述預(yù)設(shè)格式的第一指令起始地址開始,按照所述預(yù)設(shè)格式的第一指令長度,讀取預(yù)設(shè)格式的指令序列,將所述預(yù)設(shè)格式的指令序列轉(zhuǎn)換為所述第一實(shí)際指令序列;
查詢所述第一實(shí)際指令序列。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定所述熱補(bǔ)丁生效的步驟包括:
如果所述修復(fù)函數(shù)中包括第二調(diào)用指令,基于所述第二調(diào)用指令的第二指令起始地址和第二指令長度,以及第一函數(shù)的函數(shù)地址,獲取所述目標(biāo)函數(shù)被修復(fù)后,所述第二調(diào)用指令的第二預(yù)期指令序列和第二實(shí)際指令序列;其中,所述修復(fù)函數(shù)用于通過所述第二調(diào)用指令調(diào)用所述第一函數(shù);
如果所述第二預(yù)期指令序列和所述第二實(shí)際指令序列相匹配,確定所述熱補(bǔ)丁生效。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一調(diào)用指令包含在第二函數(shù)對應(yīng)的指令中;所述第二函數(shù)用于通過所述第一調(diào)用指令調(diào)用所述目標(biāo)函數(shù)或所述修復(fù)函數(shù);
所述確定所述熱補(bǔ)丁生效的步驟之后,所述方法還包括:
調(diào)用所述第二函數(shù),得到所述第二函數(shù)的輸出結(jié)果;
基于所述輸出結(jié)果確定所述熱補(bǔ)丁的功能是否正確。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,調(diào)用所述第二函數(shù),得到所述第二函數(shù)的輸出結(jié)果的步驟包括:
查詢所述第二函數(shù)的函數(shù)地址,以及,調(diào)用所述第二函數(shù)需要傳遞的參數(shù)個(gè)數(shù);
基于所述參數(shù)個(gè)數(shù),獲取調(diào)用所述第二函數(shù)需要傳遞的參數(shù);
將所述函數(shù)地址寫入第四操作對象中,觸發(fā)所述第四操作對象對應(yīng)的寫回調(diào)函數(shù),以將所述函數(shù)地址轉(zhuǎn)換為預(yù)設(shè)格式的函數(shù)地址,并存儲至內(nèi)存;
將所述參數(shù)寫入第五操作對象中,觸發(fā)所述第五操作對象對應(yīng)的寫回調(diào)函數(shù),以將所述參數(shù)轉(zhuǎn)換為預(yù)設(shè)格式的參數(shù),并存儲至內(nèi)存;
基于所述預(yù)設(shè)格式的函數(shù)地址和所述預(yù)設(shè)格式的參數(shù),調(diào)用所述第二函數(shù),得到所述第二函數(shù)的輸出結(jié)果。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京金山云網(wǎng)絡(luò)技術(shù)有限公司,未經(jīng)北京金山云網(wǎng)絡(luò)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010952783.9/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤





