本技術(shù)實(shí)施例涉及終端,尤其涉及一種基于文件類型確定插樁流程的方法及相關(guān)裝置。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)的發(fā)展,為了生活的便捷和娛樂(lè),用戶在電子設(shè)備的應(yīng)用市場(chǎng)中下載并使用的第三方應(yīng)用越來(lái)越多。但是對(duì)于用戶而言,第三方應(yīng)用中的各種相關(guān)功能或相關(guān)聯(lián)的應(yīng)用內(nèi)容能夠被快速打開(kāi)或者可以快速響應(yīng)用戶操作進(jìn)行顯示,可以給用戶帶來(lái)較好的用戶體驗(yàn)。
2、由于目前第三方應(yīng)用在運(yùn)行中并不涉及到電子設(shè)備中操作系統(tǒng)的相關(guān)運(yùn)行操作,因此,第三方應(yīng)用中的各種相關(guān)功能是何時(shí)開(kāi)始運(yùn)行、何時(shí)結(jié)束運(yùn)行等相關(guān)運(yùn)行事件對(duì)于電子設(shè)備的操作系統(tǒng)而言均是未知的。因此,為了避免第三方應(yīng)用在運(yùn)行過(guò)程中出現(xiàn)應(yīng)用內(nèi)容(如:圖片、文字、語(yǔ)音或控件等)加載時(shí)間過(guò)長(zhǎng)或相關(guān)功能加載速度慢的情況時(shí),現(xiàn)有技術(shù)中,通常會(huì)基于虛擬機(jī)中的編譯器對(duì)第三方應(yīng)用中的關(guān)鍵函數(shù)進(jìn)行插樁處理。由于編譯器運(yùn)行原理復(fù)雜,導(dǎo)致基于編譯器的插樁函數(shù)的設(shè)計(jì)難度過(guò)高,容易出現(xiàn)“漏插樁”的現(xiàn)象,使得電子設(shè)備無(wú)法完整、詳細(xì)地掌握第三方應(yīng)用的運(yùn)行情況,從而導(dǎo)致電子設(shè)備很難針對(duì)第三方應(yīng)用達(dá)到不錯(cuò)的優(yōu)化效果,用戶體驗(yàn)不佳。
3、因此,如何全面地篩選出第三方應(yīng)用中的關(guān)鍵函數(shù)并對(duì)其進(jìn)行插樁處理,達(dá)到高效地對(duì)第三方應(yīng)用進(jìn)行優(yōu)化并提高用戶體驗(yàn)的目的,是亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供了一種基于文件類型確定插樁流程的方法及相關(guān)裝置,其中,在該基于文件類型確定插樁流程的方法中,可以基于第三方應(yīng)用的應(yīng)用文件被編譯優(yōu)化后的運(yùn)行文件的文件類型,采取對(duì)應(yīng)的遍歷流程來(lái)達(dá)到全面篩選目標(biāo)子函數(shù)并對(duì)其進(jìn)行插樁處理的目的,并調(diào)整目標(biāo)子函數(shù)的執(zhí)行接口,有助于電子設(shè)備監(jiān)測(cè)第三方應(yīng)用的運(yùn)行情況,從而能夠有針對(duì)性地對(duì)第三方應(yīng)用的關(guān)鍵事件進(jìn)行優(yōu)化,提高用戶的使用體驗(yàn)。
2、第一方面,本技術(shù)實(shí)施例提供了一種基于文件類型確定插樁流程的方法,上述方法可以包括:獲取第三方應(yīng)用對(duì)應(yīng)運(yùn)行文件的文件信息,運(yùn)行文件為運(yùn)行時(shí)虛擬機(jī)art中當(dāng)前編譯執(zhí)行或解釋執(zhí)行的第三方應(yīng)用對(duì)應(yīng)的應(yīng)用文件,文件信息包括運(yùn)行文件的文件名稱,運(yùn)行文件包括至少一個(gè)子函數(shù);基于運(yùn)行文件中的文件名稱,確定運(yùn)行文件的文件類型,文件類型包括第一文件類型和第二文件類型;基于運(yùn)行文件的文件類型對(duì)應(yīng)的遍歷流程,對(duì)運(yùn)行文件中的目標(biāo)子函數(shù)進(jìn)行插樁hook處理,并通過(guò)第一解釋器繼續(xù)解釋執(zhí)行目標(biāo)子函數(shù),目標(biāo)子函數(shù)為存在關(guān)鍵函數(shù)標(biāo)簽的子函數(shù)。
3、現(xiàn)有技術(shù)中,因缺乏樁點(diǎn),電子設(shè)備無(wú)法針對(duì)性的對(duì)第三方應(yīng)用進(jìn)行優(yōu)化,用戶體驗(yàn)不佳。在本技術(shù)實(shí)施例中,art在對(duì)第三方應(yīng)用的運(yùn)行文件進(jìn)行編譯或解釋執(zhí)行時(shí),可以基于運(yùn)行文件的編譯優(yōu)化屬性來(lái)選擇不同的遍歷流程來(lái)為運(yùn)行文件中的目標(biāo)子函數(shù)進(jìn)行插樁處理,有助于實(shí)現(xiàn)電子設(shè)備對(duì)第三方應(yīng)用運(yùn)行過(guò)程中的關(guān)鍵事件進(jìn)行定位,進(jìn)而可以基于獲取到的第三方應(yīng)用的關(guān)鍵事件有針對(duì)性的對(duì)第三應(yīng)用進(jìn)行優(yōu)化,避免對(duì)整個(gè)第三方應(yīng)用進(jìn)行優(yōu)化,提高了優(yōu)化的準(zhǔn)確度,提高了用戶使用體驗(yàn)。
4、在一種可能實(shí)現(xiàn)的方式中,第一遍歷流程可以包括遍歷運(yùn)行文件中的各個(gè)子函數(shù)對(duì)應(yīng)的執(zhí)行接口的類型,第一遍歷流程為第一文件類型對(duì)應(yīng)的遍歷流程;第二遍歷流程可以包括遍歷運(yùn)行文件中的各個(gè)子函數(shù)對(duì)應(yīng)的編譯標(biāo)識(shí)信息的類型,第二遍歷流程為第二文件類型對(duì)應(yīng)的遍歷流程。
5、在本技術(shù)實(shí)施例中,art能夠基于運(yùn)行文件不同的文件類型對(duì)運(yùn)行文件中的子函數(shù)采取不同的遍歷流程。具體地,第一遍歷流程會(huì)先判斷子函數(shù)的執(zhí)行接口的類型,然后再判斷子函數(shù)是否為目標(biāo)子函數(shù);第二遍歷流程會(huì)先判斷子函數(shù)的編譯標(biāo)識(shí)信息是否為空,再對(duì)編譯標(biāo)識(shí)信息非空的子函數(shù)進(jìn)行“是否為目標(biāo)子函數(shù)”的判斷。本技術(shù)實(shí)施例通過(guò)采取不同的遍歷流程有助于更全面地對(duì)第三方應(yīng)用中的子函數(shù)進(jìn)行關(guān)鍵函數(shù)的排查,有助于后續(xù)為目標(biāo)子函數(shù)進(jìn)行插樁處理,從而有助于電子設(shè)備掌握第三方應(yīng)用詳細(xì)的運(yùn)行情況,方便電子設(shè)備后續(xù)對(duì)第三方應(yīng)用做出針對(duì)性的優(yōu)化,提高第三方應(yīng)用的運(yùn)行性能和用戶使用體驗(yàn)。
6、在一種可能實(shí)現(xiàn)的方式中,執(zhí)行接口可以包括編譯執(zhí)行接口和解釋執(zhí)行接口,解釋執(zhí)行接口可以包括第一解釋執(zhí)行接口和第二解釋執(zhí)行接口;在運(yùn)行文件的文件類型為第一文件類型的情況下,運(yùn)行文件為鏡像文件數(shù)據(jù);上述方法還可以包括:遍歷運(yùn)行文件中的各個(gè)子函數(shù)的執(zhí)行接口;若存在第一子函數(shù)的執(zhí)行接口為編譯執(zhí)行接口,且第一子函數(shù)為目標(biāo)子函數(shù),則將第一子函數(shù)的執(zhí)行接口調(diào)整為第一解釋執(zhí)行接口,并通過(guò)第一解釋器解釋執(zhí)行第一子函數(shù);若存在第二子函數(shù)的執(zhí)行接口為第二解釋執(zhí)行接口,且第二子函數(shù)為目標(biāo)子函數(shù),則將第二子函數(shù)的執(zhí)行接口調(diào)整為第一解釋執(zhí)行接口,并通過(guò)第一解釋器解釋執(zhí)行第二子函數(shù)。
7、在本技術(shù)實(shí)施例中,第一文件類型可以表示運(yùn)行文件的文件后綴名,示例性的,當(dāng)運(yùn)行文件為經(jīng)過(guò)speed-profile編譯優(yōu)化后的文件,運(yùn)行文件的后綴名為“.art”時(shí),故可以認(rèn)為運(yùn)行文件為第一文件類型。由于“.art”文件為鏡像文件,其中保存有一個(gè)或多個(gè)熱點(diǎn)函數(shù),故而在運(yùn)行文件的文件類型為第一文件類型的情況下,art需遍歷運(yùn)行文件中的各個(gè)熱點(diǎn)函數(shù)的執(zhí)行接口,并判斷各個(gè)熱點(diǎn)函數(shù)是否存在關(guān)鍵函數(shù)標(biāo)簽,進(jìn)而為存在關(guān)鍵函數(shù)標(biāo)簽的目標(biāo)子函數(shù)進(jìn)行插樁處理和調(diào)整目標(biāo)子函數(shù)的執(zhí)行接口,通過(guò)將目標(biāo)子函數(shù)轉(zhuǎn)移至第一解釋器進(jìn)行解釋執(zhí)行,有助于減輕編譯器和第二解釋器的運(yùn)行負(fù)擔(dān),從而進(jìn)一步提高,并且利用解釋器進(jìn)行插樁處理的設(shè)計(jì)原理相對(duì)于利用解釋器進(jìn)行插樁處理更加簡(jiǎn)單,從而可以更全面地抓取并解釋目標(biāo)子函數(shù),避免遺漏對(duì)關(guān)鍵事件進(jìn)行插樁的情況發(fā)生,有助于電子設(shè)備更加全面地掌握第三方應(yīng)用的運(yùn)行情況。
8、在一種可能實(shí)現(xiàn)的方式中,art可以包括編譯器和解釋器,解釋器可以包括第一解釋器和第二解釋器;在運(yùn)行文件的文件類型為第一文件類型的情況下,上述方法還可以包括:若存在第三子函數(shù)的執(zhí)行接口為編譯執(zhí)行接口,且第三子函數(shù)不為目標(biāo)子函數(shù),則執(zhí)行第三子函數(shù)對(duì)應(yīng)的機(jī)器碼;若存在第四子函數(shù)的執(zhí)行接口為第二解釋執(zhí)行接口,且第四子函數(shù)不為目標(biāo)子函數(shù),則通過(guò)第二解釋器解釋執(zhí)行第四子函數(shù)。
9、在本技術(shù)實(shí)施例中,art不會(huì)更改除目標(biāo)子函數(shù)以外的子函數(shù)的執(zhí)行接口,具體地,若存在子函數(shù)的執(zhí)行接口為編譯執(zhí)行接口,且該子函數(shù)不為目標(biāo)子函數(shù),則表示該子函數(shù)經(jīng)過(guò)編譯優(yōu)化處理,故可以直接執(zhí)行該子函數(shù)對(duì)應(yīng)的機(jī)器碼;若存在子函數(shù)的執(zhí)行接口為第二解釋執(zhí)行,且該子函數(shù)不為目標(biāo)子函數(shù),則由第二解釋器繼續(xù)解釋執(zhí)行該子函數(shù),有助于保證第三方應(yīng)用的運(yùn)行效率和用戶使用體驗(yàn)。
10、在一種可能實(shí)現(xiàn)的方式中,在運(yùn)行文件的文件類型為第二文件類型的情況下,方法還可以包括:獲取運(yùn)行文件中的各個(gè)子函數(shù)對(duì)應(yīng)的編譯標(biāo)識(shí)信息;若存在第五子函數(shù)的編譯標(biāo)識(shí)信息為空,且第五子函數(shù)不為目標(biāo)子函數(shù),則將第五子函數(shù)的執(zhí)行接口調(diào)整為第二解釋執(zhí)行接口,通過(guò)第二解釋器解釋執(zhí)行第五子函數(shù);若存在第六子函數(shù)的編譯標(biāo)識(shí)信息為空,且第六子函數(shù)為目標(biāo)子函數(shù),則將第六子函數(shù)的執(zhí)行接口調(diào)整為第一解釋執(zhí)行接口,通過(guò)第一解釋器解釋執(zhí)行第六子函數(shù);若存在第七子函數(shù)的編譯標(biāo)識(shí)信息非空,且第七子函數(shù)為目標(biāo)子函數(shù),則將第七子函數(shù)的執(zhí)行接口調(diào)整為第一解釋執(zhí)行接口,通過(guò)第一解釋器解釋執(zhí)行第六子函數(shù);若存在第八子函數(shù)的編譯標(biāo)識(shí)信息非空,且第八子函數(shù)不為目標(biāo)子函數(shù),則執(zhí)行第八子函數(shù)對(duì)應(yīng)的機(jī)器碼。
11、在本技術(shù)實(shí)施例中,第二文件類型可以表示運(yùn)行文件的文件后綴名,示例性的,當(dāng)運(yùn)行文件為經(jīng)aot編譯優(yōu)化后的文件,運(yùn)行文件的后綴名為“.odex”時(shí),故可以認(rèn)為運(yùn)行文件為第二文件類型。在運(yùn)行文件的文件類型為第二文件類型的情況下,本技術(shù)方法可以通過(guò)判斷運(yùn)行文件中各個(gè)子函數(shù)對(duì)應(yīng)的編譯標(biāo)識(shí)信息是否為空,來(lái)為各個(gè)子函數(shù)設(shè)置執(zhí)行接口。具體地,當(dāng)存在子函數(shù)的編譯標(biāo)識(shí)信息為空時(shí),可以認(rèn)為該子函數(shù)沒(méi)有經(jīng)過(guò)編譯優(yōu)化處理,則可以將該子函數(shù)的執(zhí)行接口設(shè)置為第二解釋執(zhí)行接口,由第二解釋器繼續(xù)解釋執(zhí)行該子函數(shù);若存在子函數(shù)的編譯標(biāo)識(shí)信息非空,可以認(rèn)為該子函數(shù)已經(jīng)被編譯優(yōu)化處理過(guò),在該子函數(shù)為目標(biāo)子函數(shù)的情況下,可以將該子函數(shù)的執(zhí)行接口設(shè)置為第一解釋執(zhí)行接口,由第一解釋器繼續(xù)解釋執(zhí)行該子函數(shù);若存在子函數(shù)的編譯標(biāo)識(shí)信息非空,可以認(rèn)為該子函數(shù)已經(jīng)被編譯優(yōu)化處理過(guò),在該子函數(shù)不為目標(biāo)子函數(shù)的情況下,可以理解為該子函數(shù)經(jīng)過(guò)編譯優(yōu)化處理,故可以直接執(zhí)行該子函數(shù)對(duì)應(yīng)的機(jī)器碼,有助于保證第三方應(yīng)用的運(yùn)行效率和用戶的使用體驗(yàn)。
12、在一種可能實(shí)現(xiàn)的方式中,在對(duì)運(yùn)行文件中的目標(biāo)子函數(shù)進(jìn)行插樁hook處理之后,上述方法還可以包括:獲取目標(biāo)子函數(shù)對(duì)應(yīng)的插樁信息;將插樁信息反射至消息隊(duì)列中,并通過(guò)第一解釋器繼續(xù)解釋執(zhí)行目標(biāo)子函數(shù)。
13、在本技術(shù)實(shí)施例中,存儲(chǔ)有插樁信息的消息隊(duì)列屬于異步消息隊(duì)列,即,在該插樁信息反射至消息隊(duì)列后并不會(huì)被第一時(shí)間進(jìn)行處理,而是為了確保第三方應(yīng)用的正常運(yùn)行,該插樁信息保存至消息隊(duì)列中后,可以通過(guò)解釋器繼續(xù)解釋執(zhí)行目標(biāo)子函數(shù),該插樁信息可以被異步處理,該方式既大大削弱了插樁處理對(duì)第三方應(yīng)用的影響,又保證了第三方應(yīng)用的運(yùn)行效率和用戶體驗(yàn)。
14、在一種可能實(shí)現(xiàn)的方式中,第三方應(yīng)用包括至少一個(gè)應(yīng)用文件,一個(gè)應(yīng)用文件包括至少一個(gè)子函數(shù),在獲取第三方應(yīng)用對(duì)應(yīng)運(yùn)行文件的文件信息之前,上述方法還可以包括:響應(yīng)于第三方應(yīng)用處于運(yùn)行狀態(tài),遍歷第三方應(yīng)用的各個(gè)應(yīng)用文件對(duì)應(yīng)的各個(gè)子函數(shù)的函數(shù)信息,函數(shù)信息包括函數(shù)對(duì)應(yīng)的函數(shù)名稱;基于函數(shù)信息和預(yù)先獲取的配置文件,判斷配置文件中是否存在與第三方應(yīng)用中的第九子函數(shù)的函數(shù)名稱相同的關(guān)鍵函數(shù)的函數(shù)名稱,配置文件包括一個(gè)或多個(gè)關(guān)鍵函數(shù)分別對(duì)應(yīng)的函數(shù)名稱;在確定存在配置文件中存在與第三方應(yīng)用中的第九子函數(shù)的函數(shù)名稱相同的關(guān)鍵函數(shù)的函數(shù)名稱的情況下,為第九子函數(shù)設(shè)置關(guān)鍵函數(shù)標(biāo)簽。
15、在本技術(shù)實(shí)施例中,art可以在第三方應(yīng)用初次啟動(dòng)時(shí)遍歷第三方應(yīng)用對(duì)應(yīng)的各個(gè)應(yīng)用文件中的各個(gè)子函數(shù),并基于各個(gè)子函數(shù)的函數(shù)信息和預(yù)先獲取的配置文件來(lái)判斷配置文件中是否存在與第三方應(yīng)用中的第九子函數(shù)的函數(shù)名稱相同的關(guān)鍵函數(shù)的函數(shù)名稱,其中,若配置文件中存在與第三方應(yīng)用中的第九子函數(shù)的函數(shù)名稱相同的關(guān)鍵函數(shù)的函數(shù)名稱,則可以認(rèn)為第九子函數(shù)為關(guān)鍵事件對(duì)應(yīng)的函數(shù)。進(jìn)一步地,art會(huì)為第八函數(shù)設(shè)置關(guān)鍵函數(shù)標(biāo)簽,使得art無(wú)需在第三應(yīng)用的運(yùn)行過(guò)程中多次對(duì)運(yùn)行文件中的子函數(shù)進(jìn)行關(guān)鍵函數(shù)判斷,有助于減輕電子設(shè)備的運(yùn)行負(fù)擔(dān),也有助于提高后續(xù)art基于解釋器對(duì)運(yùn)行文件中的目標(biāo)子函數(shù)進(jìn)行插樁處理的效率。
16、第二方面,本技術(shù)實(shí)施例提供了一種基于編譯優(yōu)化函數(shù)確定插樁流程的系統(tǒng),上述系統(tǒng)可以包括:插樁模塊和第一解釋器;其中,插樁模塊,可以用于:獲取第三方應(yīng)用對(duì)應(yīng)運(yùn)行文件的文件信息,運(yùn)行文件為運(yùn)行時(shí)虛擬機(jī)art中當(dāng)前編譯執(zhí)行或解釋執(zhí)行的第三方應(yīng)用對(duì)應(yīng)的應(yīng)用文件,文件信息包括運(yùn)行文件的文件名稱,運(yùn)行文件包括至少一個(gè)子函數(shù);基于運(yùn)行文件中的文件名稱,確定運(yùn)行文件的文件類型,文件類型包括第一文件類型和第二文件類型;基于運(yùn)行文件的文件類型對(duì)應(yīng)的遍歷流程,對(duì)運(yùn)行文件中的目標(biāo)子函數(shù)進(jìn)行插樁hook處理,目標(biāo)子函數(shù)為存在關(guān)鍵函數(shù)標(biāo)簽的子函數(shù);第一解釋器,可以用于繼續(xù)解釋執(zhí)行目標(biāo)子函數(shù)。
17、在一種可能實(shí)現(xiàn)的方式中,第一遍歷流程可以包括遍歷運(yùn)行文件中的各個(gè)子函數(shù)對(duì)應(yīng)的執(zhí)行接口的類型,第一遍歷流程為第一文件類型對(duì)應(yīng)的遍歷流程;第二遍歷流程可以包括遍歷運(yùn)行文件中的各個(gè)子函數(shù)對(duì)應(yīng)的編譯標(biāo)識(shí)信息的類型,第二遍歷流程為第二文件類型對(duì)應(yīng)的遍歷流程。
18、在一種可能實(shí)現(xiàn)的方式中,執(zhí)行接口可以包括編譯執(zhí)行接口和解釋執(zhí)行接口,解釋執(zhí)行接口可以包括第一解釋執(zhí)行接口和第二解釋執(zhí)行接口;在運(yùn)行文件的文件類型為第一文件類型的情況下,運(yùn)行文件為鏡像文件數(shù)據(jù);上述系統(tǒng)還可以包括:管理模塊;其中,上述插樁模塊,還可以用于:遍歷運(yùn)行文件中的各個(gè)子函數(shù)的執(zhí)行接口;上述管理模塊,還可以用于:在存在第一子函數(shù)的執(zhí)行接口為編譯執(zhí)行接口,且第一子函數(shù)為目標(biāo)子函數(shù)的情況下,將第一子函數(shù)的執(zhí)行接口調(diào)整為第一解釋執(zhí)行接口;在存在第二子函數(shù)的執(zhí)行接口為第二解釋執(zhí)行接口,且第二子函數(shù)為目標(biāo)子函數(shù)的情況下,將第二子函數(shù)的執(zhí)行接口調(diào)整為第一解釋執(zhí)行接口;上述第一解釋器,還可以用于:解釋執(zhí)行上述第一子函數(shù);解釋執(zhí)行上述第二子函數(shù)。
19、在一種可能實(shí)現(xiàn)的方式中,上述art可以包括編譯器和解釋器,解釋器可以包括上述第一解釋器和第二解釋器;在運(yùn)行文件的文件類型為第一文件類型的情況下,上述插樁模塊,可以用于在存在第三子函數(shù)的執(zhí)行接口為編譯執(zhí)行接口,且第三子函數(shù)不為目標(biāo)函數(shù)的情況下,執(zhí)行第三子函數(shù)對(duì)應(yīng)的機(jī)器碼;上述第二解釋器,可以用于在存在第四子函數(shù)的執(zhí)行接口為第二解釋執(zhí)行接口,且第四子函數(shù)不為目標(biāo)子函數(shù)的情況下,解釋執(zhí)行第四子函數(shù)。
20、在一種可能實(shí)現(xiàn)的方式中,在運(yùn)行文件的文件類型為第二文件類型的情況下,上述插樁模塊,還可以用于獲取運(yùn)行文件中的各個(gè)子函數(shù)對(duì)應(yīng)的編譯標(biāo)識(shí)信息;在存在第五子函數(shù)的編譯標(biāo)識(shí)信息為空,且第五子函數(shù)不為目標(biāo)子函數(shù)的情況下,將第五子函數(shù)的執(zhí)行接口調(diào)整為第二解釋執(zhí)行接口;在存在第六子函數(shù)的編譯標(biāo)識(shí)信息為空,且第六子函數(shù)為目標(biāo)子函數(shù)的情況下,將第六子函數(shù)的執(zhí)行接口調(diào)整為第一解釋執(zhí)行接口;在存在第七子函數(shù)的編譯標(biāo)識(shí)信息非空,且第七子函數(shù)為目標(biāo)子函數(shù)的情況下,將第七子函數(shù)的執(zhí)行接口調(diào)整為第一解釋執(zhí)行接口;在存在第八子函數(shù)的編譯標(biāo)識(shí)信息非空,且第八子函數(shù)不為目標(biāo)子函數(shù)的情況下,執(zhí)行第八子函數(shù)對(duì)應(yīng)的機(jī)器碼;上述第二解釋器,還可以用于解釋執(zhí)行上述第五子函數(shù);上述第一解釋器,還可以用于釋執(zhí)行上述第六子函數(shù)和/或上述第七子函數(shù)。
21、在一種可能實(shí)現(xiàn)的方式中,在對(duì)運(yùn)行文件中的目標(biāo)子函數(shù)進(jìn)行插樁hook處理之后,在運(yùn)行文件的文件類型為第二文件類型的情況下,上述插樁模塊,還可以用于獲取目標(biāo)子函數(shù)對(duì)應(yīng)的插樁信息,將插樁信息反射至消息隊(duì)列中;上述第一解釋器,還可以用于在將插樁信息反射至消息隊(duì)列中后,繼續(xù)解釋執(zhí)行目標(biāo)子函數(shù)。
22、在一種可能實(shí)現(xiàn)的方式中,第三方應(yīng)用包括至少一個(gè)應(yīng)用文件,一個(gè)應(yīng)用文件包括至少一個(gè)子函數(shù),在獲取第三方應(yīng)用對(duì)應(yīng)運(yùn)行文件的文件信息之前,上述插樁模塊,還可以用于:響應(yīng)于第三方應(yīng)用處于運(yùn)行狀態(tài),遍歷第三方應(yīng)用的各個(gè)應(yīng)用文件對(duì)應(yīng)的各個(gè)子函數(shù)的函數(shù)信息,函數(shù)信息包括函數(shù)對(duì)應(yīng)的函數(shù)名稱;基于函數(shù)信息和預(yù)先獲取的配置文件,判斷配置文件中是否存在與第三方應(yīng)用中的第九子函數(shù)的函數(shù)名稱相同的關(guān)鍵函數(shù)的函數(shù)名稱,配置文件包括一個(gè)或多個(gè)關(guān)鍵函數(shù)分別對(duì)應(yīng)的函數(shù)名稱;在確定存在配置文件中存在與第三方應(yīng)用中的第九子函數(shù)的函數(shù)名稱相同的關(guān)鍵函數(shù)的函數(shù)名稱的情況下,為第九子函數(shù)設(shè)置關(guān)鍵函數(shù)標(biāo)簽。
23、第三方面,本技術(shù)實(shí)施例提供了一種電子設(shè)備,上述電子設(shè)備包括一個(gè)或多個(gè)處理器和一個(gè)或多個(gè)存儲(chǔ)器;其中,上述一個(gè)或多個(gè)存儲(chǔ)器與上述一個(gè)或多個(gè)處理器耦合,上述一個(gè)或多個(gè)存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序代碼,上述計(jì)算機(jī)程序代碼包括計(jì)算機(jī)指令,當(dāng)上述一個(gè)或多個(gè)處理器執(zhí)行上述計(jì)算機(jī)指令時(shí),使得上述電子設(shè)備執(zhí)行如上述第一方面中或第一方面中任一可能的實(shí)現(xiàn)方式中的基于解釋器的插樁方法。
24、第四方面,本技術(shù)提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),包括計(jì)算機(jī)指令,當(dāng)計(jì)算機(jī)指令在電子設(shè)備上運(yùn)行時(shí),使得通信裝置執(zhí)行如上述第一方面中或第一方面中任一可能的實(shí)現(xiàn)方式中的基于解釋器的插樁方法。
25、第五方面,本技術(shù)提供了一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)計(jì)算機(jī)程序產(chǎn)品在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行上述第一方面中或第一方面中任一可能的實(shí)現(xiàn)方式中的基于解釋器的插樁方法。
26、可以理解地,上述第二方面提供的系統(tǒng)、第三方面提供的電子設(shè)備、第四方面提供的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)、第五方面提供的計(jì)算機(jī)程序產(chǎn)品均用于執(zhí)行本技術(shù)實(shí)施例所提供的方法。因此,其所能達(dá)到的有益效果可參考對(duì)應(yīng)方法中的有益效果,此處不再贅述。