[發(fā)明專利]用于確定調(diào)用棧棧幀的對象的方法、裝置、設(shè)備和介質(zhì)在審
| 申請?zhí)枺?/td> | 202110302483.0 | 申請日: | 2021-03-22 |
| 公開(公告)號: | CN112925717A | 公開(公告)日: | 2021-06-08 |
| 發(fā)明(設(shè)計)人: | 劉洪凱 | 申請(專利權(quán))人: | 北京字節(jié)跳動網(wǎng)絡(luò)技術(shù)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京開陽星知識產(chǎn)權(quán)代理有限公司 11710 | 代理人: | 祝樂芳 |
| 地址: | 100041 北京市石景山區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 確定 調(diào)用 棧棧幀 對象 方法 裝置 設(shè)備 介質(zhì) | ||
1.一種用于確定調(diào)用棧棧幀的對象的方法,其特征在于,包括:
申請第一內(nèi)存區(qū)域,并確定所述第一內(nèi)存區(qū)域中的目標(biāo)子區(qū)域;其中,所述目標(biāo)子區(qū)域是所述第一內(nèi)存區(qū)域的首地址對應(yīng)的區(qū)域;
獲取上下文參數(shù)和當(dāng)前線程指針;
基于所述第一內(nèi)存區(qū)域的首地址、所述上下文參數(shù)和當(dāng)前線程指針,執(zhí)行構(gòu)造功能模塊對應(yīng)的代碼段,對所述目標(biāo)子區(qū)域中存儲的內(nèi)容進(jìn)行初始化;
將初始化后的目標(biāo)子區(qū)域中的存儲內(nèi)容更改為自定義虛擬功能模塊表的地址;其中,所述自定義虛擬功能模塊表中的第三個功能模塊地址為預(yù)設(shè)目標(biāo)回調(diào)功能模塊的地址;
基于所述第一內(nèi)存區(qū)域的首地址,執(zhí)行棧回溯功能模塊WalkStack對應(yīng)的代碼段,以啟動調(diào)用棧的回溯;
如果回溯出所述調(diào)用棧中的一個棧幀,則執(zhí)行所述預(yù)設(shè)目標(biāo)回調(diào)功能模塊對應(yīng)的代碼段;
在執(zhí)行所述預(yù)設(shè)目標(biāo)回調(diào)功能模塊對應(yīng)的代碼段的過程中,基于所述第一內(nèi)存區(qū)域的首地址,執(zhí)行棧幀對象獲取功能模塊GetThisObject對應(yīng)的代碼段;
基于執(zhí)行所述棧幀對象獲取功能模塊GetThisObject對應(yīng)的代碼段得到的結(jié)果,確定所述棧幀的當(dāng)前對象。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于所述第一內(nèi)存區(qū)域的首地址,執(zhí)行棧幀對象獲取功能模塊GetThisObject對應(yīng)的代碼段之前,還包括:
基于所述第一內(nèi)存區(qū)域的首地址,執(zhí)行棧幀字符串描述信息獲取功能模塊DescribeLocation對應(yīng)的代碼段,獲取棧幀字符串描述信息;
檢測所述棧幀字符串描述信息中是否包括預(yù)設(shè)字符串,以在所述棧幀字符串描述信息中不包括所述預(yù)設(shè)字符串的情況下,執(zhí)行所述棧幀對象獲取功能模塊GetThisObject對應(yīng)的代碼段;其中,所述預(yù)設(shè)字符串用于標(biāo)記不需要獲取當(dāng)前對象的棧幀。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,基于執(zhí)行所述棧幀對象獲取功能模塊GetThisObject對應(yīng)的代碼段得到的結(jié)果,確定所述棧幀的當(dāng)前對象,包括:
基于執(zhí)行所述棧幀對象獲取功能模塊GetThisObject對應(yīng)的代碼段得到的結(jié)果,執(zhí)行對象轉(zhuǎn)換功能模塊NewLocalRef對應(yīng)的代碼段,得到所述棧幀的當(dāng)前對象。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
將所述棧幀的當(dāng)前對象從本地服務(wù)層傳輸至預(yù)設(shè)編程語言層,以在所述預(yù)設(shè)編程語言層對所述棧幀的當(dāng)前對象進(jìn)行處理;其中,所述預(yù)設(shè)編程語言層包括java層。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
申請第二內(nèi)存區(qū)域;其中,所述第二內(nèi)存區(qū)域用于存儲各個棧幀的當(dāng)前對象。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括:
在執(zhí)行所述預(yù)設(shè)目標(biāo)回調(diào)功能模塊對應(yīng)的代碼段的過程中,如果滿足預(yù)設(shè)條件,則確定執(zhí)行所述預(yù)設(shè)目標(biāo)回調(diào)功能模塊對應(yīng)的代碼段得到的目標(biāo)結(jié)果,并基于所述目標(biāo)結(jié)果結(jié)束所述調(diào)用棧的回溯;
其中,所述預(yù)設(shè)條件包括:所述預(yù)設(shè)目標(biāo)回調(diào)功能模塊對應(yīng)的代碼段的執(zhí)行次數(shù)達(dá)到執(zhí)行次數(shù)閾值,或者,所述棧幀的當(dāng)前對象類型屬于需求類型。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京字節(jié)跳動網(wǎng)絡(luò)技術(shù)有限公司,未經(jīng)北京字節(jié)跳動網(wǎng)絡(luò)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110302483.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- IDL調(diào)用裝置及調(diào)用方法
- 調(diào)用方法及調(diào)用系統(tǒng)
- 一種服務(wù)調(diào)用方法及裝置
- 服務(wù)調(diào)用方法、服務(wù)調(diào)用裝置及服務(wù)調(diào)用系統(tǒng)
- 組件調(diào)用方法、裝置及計算機(jī)可讀存儲介質(zhì)
- 身份驗證方法及裝置
- 系統(tǒng)調(diào)用處理方法、裝置、計算機(jī)設(shè)備和存儲介質(zhì)
- 一種數(shù)據(jù)調(diào)用方法、裝置、電子設(shè)備及存儲介質(zhì)
- 一種微服務(wù)請求重試的方法及終端
- 業(yè)務(wù)數(shù)據(jù)的處理方法、裝置及系統(tǒng)





