亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

控制方法和電子設(shè)備的制作方法

文檔序號(hào):6486355閱讀:110來源:國(guó)知局
控制方法和電子設(shè)備的制作方法
【專利摘要】提供了控制方法和電子設(shè)備。該控制方法應(yīng)用于控制加載器對(duì)程序的加載,其中,程序包括多個(gè)函數(shù),該控制方法包括:在加載器加載程序之前,創(chuàng)建一函數(shù)重定位表,其中,該函數(shù)重定位表包括多個(gè)函數(shù)中的要重定位的一個(gè)或多個(gè)函數(shù)及其自定義地址;以及,加載器根據(jù)該函數(shù)重定位表加載程序,以將要重定位的一個(gè)或多個(gè)函數(shù)加載到其自定義地址。通過根據(jù)本發(fā)明實(shí)施例的控制方法和電子設(shè)備,實(shí)現(xiàn)了加載器加載程序的過程中對(duì)函數(shù)的重定位地址的精確控制,從而改進(jìn)了系統(tǒng)的性能。
【專利說明】控制方法和電子設(shè)備
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及控制方法和電子設(shè)備。
【背景技術(shù)】
[0002]在當(dāng)前的電子設(shè)備中,操作系統(tǒng)會(huì)使用加載器來對(duì)程序或動(dòng)態(tài)庫進(jìn)行加載,并且在加載器加載程序或者動(dòng)態(tài)庫時(shí),加載器會(huì)對(duì)程序或者動(dòng)態(tài)庫進(jìn)行重定位。
[0003]通常,程序或者動(dòng)態(tài)庫的執(zhí)行會(huì)涉及到一個(gè)或多個(gè)依賴庫,并且,在程序或者動(dòng)態(tài)庫被執(zhí)行時(shí),加載器會(huì)加載所有的依賴庫,并對(duì)這些依賴庫進(jìn)行重定位。
[0004]在現(xiàn)有技術(shù)中,每個(gè)函數(shù)通常包括多個(gè)函數(shù),從廣義上來看,動(dòng)態(tài)庫和依賴庫也可以被看作為程序,且在這些庫中包括多個(gè)函數(shù)。
[0005]這樣,當(dāng)在操作系統(tǒng)中,加載器加載程序時(shí),對(duì)于程序中所包括的函數(shù)的重定位在很大程度上是不可控制的,這就造成了不易定位程序中的函數(shù)的問題。

【發(fā)明內(nèi)容】

[0006]因此,針對(duì)上述現(xiàn)有技術(shù)中存在的問題和需求做出本發(fā)明。
[0007]本發(fā)明實(shí)施例提供了一種控制方法和電子設(shè)備,其能夠精確地控制加載器加載程序過程中對(duì)函數(shù)的重定位的地址,從而改進(jìn)系統(tǒng)的性能。
[0008]根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種控制方法,應(yīng)用于控制加載器對(duì)程序的加載,其中,所述程序包括多個(gè)函數(shù),所述控制方法包括:在所述加載器加載所述程序之前,創(chuàng)建一函數(shù)重定位表,其中,所述函數(shù)重定位表包括所述多個(gè)函數(shù)中的要重定位的一個(gè)或多個(gè)函數(shù)及其自定義地址;以及,所述加載器根據(jù)所述函數(shù)重定位表加載所述程序,以將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到其自定義地址。
[0009]在上述控制方法中,所述程序是動(dòng)態(tài)庫,且包括一個(gè)或多個(gè)依賴庫。
[0010]在上述控制方法中,所述要重定位的一個(gè)或多個(gè)函數(shù)的自定義地址是新的函數(shù)地址;以及,將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到新的函數(shù)地址對(duì)應(yīng)于執(zhí)行與所述新的函數(shù)地址對(duì)應(yīng)的新的函數(shù)。
[0011]在上述控制方法中,所述要重定位的一個(gè)或多個(gè)函數(shù)的自定義地址是異常的內(nèi)存地址;以及,將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到異常的內(nèi)存地址對(duì)應(yīng)于捕獲所述要重定位的一個(gè)或多個(gè)函數(shù)的異常。
[0012]在上述控制方法中,所述異常的內(nèi)存地址是無權(quán)限的內(nèi)存地址。
[0013]在上述控制方法中,所述加載器在虛擬化系統(tǒng)中加載所述程序;以及,所述控制方法進(jìn)一步包括:在捕獲到要重定位的一個(gè)或多個(gè)函數(shù)的異常之后,將所述一個(gè)或多個(gè)函數(shù)的執(zhí)行從虛擬化系統(tǒng)的虛擬化端切換到主機(jī)端。
[0014]根據(jù)本發(fā)明實(shí)施例的另一方面,提供了一種電子設(shè)備,包括:加載器,配置為在所述電子設(shè)備的操作系統(tǒng)下對(duì)程序進(jìn)行加載,所述程序包括多個(gè)函數(shù);以及,表創(chuàng)建單元,配置為在所述加載器加載所述程序之前,創(chuàng)建一函數(shù)重定位表,所述函數(shù)重定位表包括所述多個(gè)函數(shù)中的要重定位的一個(gè)或多個(gè)函數(shù)及其自定義地址;其中,所述加載器根據(jù)由所述表創(chuàng)建單元?jiǎng)?chuàng)建的函數(shù)重定位表加載所述程序,以將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到其自定義地址。
[0015]在上述電子設(shè)備中,所述程序是動(dòng)態(tài)庫,且包括一個(gè)或多個(gè)依賴庫。
[0016]在上述電子設(shè)備中,所述要重定位的一個(gè)或多個(gè)函數(shù)的自定義地址是新的函數(shù)地址;以及,所述加載器將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到新的函數(shù)地址對(duì)應(yīng)于執(zhí)行與所述新的函數(shù)地址對(duì)應(yīng)的新的函數(shù)。
[0017]在上述電子設(shè)備中,所述要重定位的一個(gè)或多個(gè)函數(shù)的自定義地址是異常的內(nèi)存地址;以及,所述加載器將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到異常的內(nèi)存地址對(duì)應(yīng)于捕獲所述要重定位的一個(gè)或多個(gè)函數(shù)的異常。
[0018]在上述電子設(shè)備中,所述異常的內(nèi)存地址是無權(quán)限的內(nèi)存地址。
[0019]在上述電子設(shè)備中,所述加載器在所述操作系統(tǒng)的虛擬化系統(tǒng)下加載所述程序;以及,所述電子設(shè)備進(jìn)一步包括:切換單元,配置為在所述加載器捕獲到要重定位的一個(gè)或多個(gè)函數(shù)的異常之后,將所述一個(gè)或多個(gè)函數(shù)的執(zhí)行從所述虛擬化系統(tǒng)的虛擬化端切換到主機(jī)端。
[0020]通過根據(jù)本發(fā)明實(shí)施例的控制方法和電子設(shè)備,實(shí)現(xiàn)了加載器加載程序的過程中對(duì)函數(shù)的重定位地址的精確控制,從而改進(jìn)了系統(tǒng)的性能。
【專利附圖】

【附圖說明】
[0021]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0022]圖1是示出根據(jù)本發(fā)明實(shí)施例的控制方法的示意性流程圖;
[0023]圖2是示出根據(jù)本發(fā)明實(shí)施例的電子設(shè)備的示意性框圖。
【具體實(shí)施方式】
[0024]下面,將結(jié)合附圖詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的控制方法和電子設(shè)備。
[0025]根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種控制方法,應(yīng)用于控制加載器對(duì)程序的加載,其中,所述程序包括多個(gè)函數(shù),所述控制方法包括:在所述加載器加載所述程序之前,創(chuàng)建一函數(shù)重定位表,其中,所述函數(shù)重定位表包括所述多個(gè)函數(shù)中的要重定位的一個(gè)或多個(gè)函數(shù)及其自定義地址;以及,所述加載器根據(jù)所述函數(shù)重定位表加載所述程序,以將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到其自定義地址。
[0026]通過根據(jù)本發(fā)明實(shí)施例的控制方法,可以在加載器加載程序時(shí)定位程序中的每個(gè)函數(shù),從而實(shí)現(xiàn)程序中的函數(shù)的精確定位,這可以解決程序中的函數(shù)不易定位所產(chǎn)生的一些問題,具體將在下文中進(jìn)行描述。
[0027]圖1是示出根據(jù)本發(fā)明實(shí)施例的控制方法的示意性流程圖。如圖1所示,根據(jù)本發(fā)明實(shí)施例的控制方法應(yīng)用于控制加載器對(duì)程序的加載,其中,程序包括多個(gè)函數(shù),該控制方法包括:SI,在加載器加載程序之前,創(chuàng)建一函數(shù)重定位表,其中,該函數(shù)重定位表包括多個(gè)函數(shù)中的要重定位的一個(gè)或多個(gè)函數(shù)及其自定義地址;以及,S2,加載器根據(jù)函數(shù)重定位表來加載程序,以將要重定位的一個(gè)或多個(gè)函數(shù)加載到其自定義地址。
[0028]在本發(fā)明實(shí)施例的控制方法中,所述程序是動(dòng)態(tài)庫,且包括一個(gè)或多個(gè)依賴庫。
[0029]動(dòng)態(tài)庫又稱為動(dòng)態(tài)鏈接庫(DLL:Dynamic Link Library),其是一個(gè)包含可由多個(gè)程序同時(shí)使用的代碼和數(shù)據(jù)的庫,而不是可執(zhí)行文件。動(dòng)態(tài)鏈接提供了一種方法,使進(jìn)程可以調(diào)用不屬于其可執(zhí)行代碼的函數(shù),其中,函數(shù)的可執(zhí)行代碼位于一個(gè)動(dòng)態(tài)庫中,該動(dòng)態(tài)庫包含一個(gè)或多個(gè)已被編譯、鏈接并與使用它們的進(jìn)程分開存儲(chǔ)的函數(shù)。動(dòng)態(tài)庫還有助于共享數(shù)據(jù)和資源,多個(gè)應(yīng)用程序可同時(shí)訪問內(nèi)存中單個(gè)動(dòng)態(tài)庫副本的內(nèi)容。
[0030]如上所述,動(dòng)態(tài)庫和依賴庫都可以看作是程序,并且在其中包括多個(gè)函數(shù),在加載器加載動(dòng)態(tài)庫和依賴庫時(shí),同樣也會(huì)對(duì)于其中的函數(shù)進(jìn)行重定位。由于這種重定位在很大程度上是無法由操作系統(tǒng)控制的,因此無法精確地控制函數(shù)在重定位之后的地址,而在某些應(yīng)用環(huán)境下,可能又需要能夠定位庫中的函數(shù),這就造成了一些不便。
[0031]在本發(fā)明實(shí)施例的控制方法中,所述要重定位的一個(gè)或多個(gè)函數(shù)的自定義地址是新的函數(shù)地址;以及,將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到新的函數(shù)地址對(duì)應(yīng)于執(zhí)行與所述新的函數(shù)地址對(duì)應(yīng)的新的函數(shù)。
[0032]如上所述,如果將庫中包含的函數(shù)定位到新的函數(shù)地址,那么加載器對(duì)于庫中的函數(shù)的加載就對(duì)應(yīng)于執(zhí)行與該新的函數(shù)地址對(duì)應(yīng)的函數(shù),這實(shí)際上可以定義對(duì)庫中的函數(shù)的執(zhí)行,從而實(shí)現(xiàn)用戶期望的功能。因?yàn)樵谖锢韮?nèi)存中,與新的函數(shù)對(duì)應(yīng)的函數(shù)地址是已知的,通過根據(jù)本發(fā)明實(shí)施例的控制方法將由加載器加載的函數(shù)重定位到該新的函數(shù)地址,就可以執(zhí)行該新的函數(shù)所具有的功能,這在很大程度上提高了操作系統(tǒng)的功能性,從而增強(qiáng)了系統(tǒng)的性能。
[0033]在本發(fā)明實(shí)施例的控制方法中,所述要重定位的一個(gè)或多個(gè)函數(shù)的自定義地址是異常的內(nèi)存地址;以及,將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到異常的內(nèi)存地址對(duì)應(yīng)于捕獲所述要重定位的一個(gè)或多個(gè)函數(shù)的異常。
[0034]在本發(fā)明實(shí)施例的控制方法中,所述異常的內(nèi)存地址是無權(quán)限的內(nèi)存地址。
[0035]在本發(fā)明實(shí)施例的控制方法中,所述加載器在虛擬化系統(tǒng)中加載所述程序;以及,所述控制方法進(jìn)一步包括:在捕獲到要重定位的一個(gè)或多個(gè)函數(shù)的異常之后,將所述一個(gè)或多個(gè)函數(shù)的執(zhí)行從虛擬化系統(tǒng)的虛擬化端切換到主機(jī)端。
[0036]在操作系統(tǒng)中,有時(shí)需要刻意捕獲重定位的函數(shù)的異常,以便執(zhí)行一些用戶特定的操作,例如,通過捕獲函數(shù)的異常,當(dāng)加載器在虛擬化系統(tǒng)中加載程序時(shí),可以使得該函數(shù)的執(zhí)行從虛擬化系統(tǒng)的虛擬化端切換到主機(jī)端。在當(dāng)前操作系統(tǒng)中,主機(jī)端通常具有比虛擬化端更強(qiáng)的處理性能。例如,以圖像處理為例,主機(jī)端可以使用圖形處理芯片來進(jìn)行硬件加速,來虛擬化端則僅能夠使用圖形處理軟件來進(jìn)行軟件加速,這樣,對(duì)于圖像處理來說,顯然在主機(jī)端可以實(shí)現(xiàn)更加優(yōu)越的處理性能。因此,對(duì)于某些函數(shù)來說,可能其執(zhí)行需要更強(qiáng)的處理性能,這就需要將該函數(shù)的執(zhí)行從虛擬化系統(tǒng)中的虛擬化端切換到主機(jī)端進(jìn)行執(zhí)行。但是,在一般情況下,由于無法捕獲到這種需要切換處理的函數(shù),無法進(jìn)行上述切換,而通過根據(jù)本發(fā)明實(shí)施例的控制方法,通過將加載器加載的函數(shù)重定位到異常的內(nèi)存地址,則可以捕獲到重定位之后的函數(shù)的異常,使得切換函數(shù)的執(zhí)行成為可能。
[0037]在上述情況下,異常的內(nèi)存地址可以是用戶在實(shí)際的物理地址中預(yù)先指定的一段內(nèi)存地址,并且該段內(nèi)存地址可由操作系統(tǒng)識(shí)別出來。例如,這里該段內(nèi)存地址可以是無權(quán)限的內(nèi)存地址,例如,無讀權(quán)限或者無寫權(quán)限,或者無讀寫權(quán)限,這樣,當(dāng)函數(shù)被重定位到這段物理地址時(shí),操作系統(tǒng)就將檢測(cè)到異常。比如,如果該段物理地址無寫權(quán)限,那么加載器加載的函數(shù)將無法被寫到該段物理內(nèi)存,從而操作系統(tǒng)識(shí)別出異常。又或者,該段物理內(nèi)存地址可以具有相應(yīng)的標(biāo)識(shí),以由操作系統(tǒng)或者用戶識(shí)別出來。這里,本領(lǐng)域技術(shù)人員可以理解,在根據(jù)本發(fā)明實(shí)施例的控制方法中,異常的內(nèi)存地址并不一定意味著這段內(nèi)存地址具有錯(cuò)誤,而是用于捕獲重定位到這段內(nèi)存地址的函數(shù),因此,僅需要可以由操作系統(tǒng)或者用戶通過某些標(biāo)識(shí)來識(shí)別出重定位到這些地址的函數(shù)即可。
[0038]如上所述,在加載器加載程序的過程中,可能需要將程序中的某些函數(shù)重定位到精確的自定義地址來實(shí)現(xiàn)系統(tǒng)的一些增強(qiáng)型的功能。這里,本領(lǐng)域技術(shù)人員可以理解,將哪些函數(shù)重定位到自定義的地址是根據(jù)系統(tǒng)的具體需求來設(shè)定的,并不需要對(duì)無特別用途的函數(shù)進(jìn)行精確的定位。因此,在根據(jù)本發(fā)明實(shí)施例的控制方法中,所創(chuàng)建的函數(shù)重定位表中僅包括程序中包含的所有函數(shù)中需要進(jìn)行重定位的函數(shù)以及需要將這些函數(shù)定位到的自定義地址,例如,上述需要作為新的函數(shù)執(zhí)行的函數(shù)或者需要捕獲到其異常的函數(shù)。這里,該創(chuàng)建的函數(shù)重定位表是以加載器可讀的格式創(chuàng)建的,從而當(dāng)加載器加載程序時(shí),可依據(jù)該函數(shù)重定位表將需要的函數(shù)加載到表中具體限定的自定義地址處。
[0039]根據(jù)本發(fā)明實(shí)施例的另一方面,提供了一種電子設(shè)備,包括:加載器,配置為在所述電子設(shè)備的操作系統(tǒng)下對(duì)程序進(jìn)行加載,所述程序包括多個(gè)函數(shù);以及,表創(chuàng)建單元,配置為在所述加載器加載所述程序之前,創(chuàng)建一函數(shù)重定位表,所述函數(shù)重定位表包括所述多個(gè)函數(shù)中的要重定位的一個(gè)或多個(gè)函數(shù)及其自定義地址;其中,所述加載器根據(jù)由所述表創(chuàng)建單元?jiǎng)?chuàng)建的函數(shù)重定位表加載所述程序,以將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到其自定義地址。
[0040]圖2是示出根據(jù)本發(fā)明實(shí)施例的電子設(shè)備的示意性框圖。如圖2所示,電子設(shè)備100包括:加載器101,配置為在電子設(shè)備100的操作系統(tǒng)下對(duì)程序進(jìn)行加載,該程序包括多個(gè)函數(shù);以及,表創(chuàng)建單元102,配置為在加載器101加載程序之前,創(chuàng)建一函數(shù)重定位表,該函數(shù)重定位表包括該多個(gè)函數(shù)中的要重定位的一個(gè)或多個(gè)函數(shù)及其自定義地址;其中,加載器101根據(jù)由表創(chuàng)建單元102創(chuàng)建的函數(shù)重定位表加載程序,以將要重定位的一個(gè)或多個(gè)函數(shù)加載到其自定義地址。
[0041 ] 在上述電子設(shè)備中,所述程序是動(dòng)態(tài)庫,且包括一個(gè)或多個(gè)依賴庫。
[0042]在上述電子設(shè)備中,所述要重定位的一個(gè)或多個(gè)函數(shù)的自定義地址是新的函數(shù)地址;以及,所述加載器將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到新的函數(shù)地址對(duì)應(yīng)于執(zhí)行與所述新的函數(shù)地址對(duì)應(yīng)的新的函數(shù)。
[0043]在上述電子設(shè)備中,所述要重定位的一個(gè)或多個(gè)函數(shù)的自定義地址是異常的內(nèi)存地址;以及,所述加載器將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到異常的內(nèi)存地址對(duì)應(yīng)于捕獲所述要重定位的一個(gè)或多個(gè)函數(shù)的異常。
[0044]在上述電子設(shè)備中,所述異常的內(nèi)存地址是無權(quán)限的內(nèi)存地址。
[0045]在上述電子設(shè)備中,所述加載器在所述操作系統(tǒng)的虛擬化系統(tǒng)下加載所述程序;以及,所述電子設(shè)備進(jìn)一步包括:切換單元,配置為在所述加載器捕獲到要重定位的一個(gè)或多個(gè)函數(shù)的異常之后,將所述一個(gè)或多個(gè)函數(shù)的執(zhí)行從所述虛擬化系統(tǒng)的虛擬化端切換到主機(jī)端。
[0046]這里,根據(jù)本發(fā)明實(shí)施例的電子設(shè)備的其它細(xì)節(jié)與之前關(guān)于根據(jù)本發(fā)明實(shí)施例的控制方法所做的描述中的細(xì)節(jié)相同,因此為了避免重復(fù)將不再贅述。本領(lǐng)域技術(shù)人員可以理解,上述電子設(shè)備可以是具有以加載器來加載程序的操作系統(tǒng)的任意電子設(shè)備,而不限于計(jì)算機(jī)系統(tǒng)。
[0047]并且,雖然在以上描述中,主要以庫函數(shù)為例進(jìn)行了描述,但是本領(lǐng)域技術(shù)人員可以理解,根據(jù)本發(fā)明實(shí)施例的控制方法和電子設(shè)備可以應(yīng)用于加載器對(duì)任意程序的加載,以增強(qiáng)系統(tǒng)性能,本發(fā)明實(shí)施例并不意在對(duì)此進(jìn)行任意限制。
[0048]通過根據(jù)本發(fā)明實(shí)施例的控制方法和電子設(shè)備,實(shí)現(xiàn)了加載器加載程序的過程中對(duì)函數(shù)的重定位地址的精確控制,從而改進(jìn)了系統(tǒng)的性能。
[0049]本發(fā)明已經(jīng)參考具體實(shí)施例進(jìn)行了詳細(xì)說明。然而,很明顯,在不背離本發(fā)明的精神的情況下,本領(lǐng)域技術(shù)人員能夠?qū)?shí)施例執(zhí)行更改和替換。換句話說,本發(fā)明用說明的形式公開,而不是被限制地解釋。要判斷本發(fā)明的要旨,應(yīng)該考慮所附的權(quán)利要求。
【權(quán)利要求】
1.一種控制方法,應(yīng)用于控制加載器對(duì)程序的加載,其中,所述程序包括多個(gè)函數(shù),所述控制方法包括: 在所述加載器加載所述程序之前,創(chuàng)建一函數(shù)重定位表,其中,所述函數(shù)重定位表包括所述多個(gè)函數(shù)中的要重定位的一個(gè)或多個(gè)函數(shù)及其自定義地址;以及 所述加載器根據(jù)所述函數(shù)重定位表加載所述程序,以將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到其自定義地址。
2.如權(quán)利要求1所述的控制方法,其中,所述程序是動(dòng)態(tài)庫,且包括一個(gè)或多個(gè)依賴庫。
3.如權(quán)利要求1所述的控制方法,其中,所述要重定位的一個(gè)或多個(gè)函數(shù)的自定義地址是新的函數(shù)地址;以及 將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到新的函數(shù)地址對(duì)應(yīng)于執(zhí)行與所述新的函數(shù)地址對(duì)應(yīng)的新的函數(shù)。
4.如權(quán)利要求1所述的控制方法,其中,所述要重定位的一個(gè)或多個(gè)函數(shù)的自定義地址是異常的內(nèi)存地址;以及 將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到異常的內(nèi)存地址對(duì)應(yīng)于捕獲所述要重定位的一個(gè)或多個(gè)函數(shù)的異常。
5.如權(quán)利要求4所述的控制方法,其中,所述異常的內(nèi)存地址是無權(quán)限的內(nèi)存地址。
6.如權(quán)利要求4所述的控制方法,其`中,所述加載器在虛擬化系統(tǒng)中加載所述程序;以及 所述控制方法進(jìn)一步包括: 在捕獲到要重定位的一個(gè)或多個(gè)函數(shù)的異常之后,將所述一個(gè)或多個(gè)函數(shù)的執(zhí)行從虛擬化系統(tǒng)的虛擬化端切換到主機(jī)端。
7.—種電子設(shè)備,包括: 加載器,配置為在所述電子設(shè)備的操作系統(tǒng)下對(duì)程序進(jìn)行加載,所述程序包括多個(gè)函數(shù);以及 表創(chuàng)建單元,配置為在所述加載器加載所述程序之前,創(chuàng)建一函數(shù)重定位表,所述函數(shù)重定位表包括所述多個(gè)函數(shù)中的要重定位的一個(gè)或多個(gè)函數(shù)及其自定義地址; 其中,所述加載器根據(jù)由所述表創(chuàng)建單元?jiǎng)?chuàng)建的函數(shù)重定位表加載所述程序,以將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到其自定義地址。
8.如權(quán)利要求7所述的電子設(shè)備,其中,所述程序是動(dòng)態(tài)庫,且包括一個(gè)或多個(gè)依賴庫。
9.如權(quán)利要求7所述的電子設(shè)備,其中,所述要重定位的一個(gè)或多個(gè)函數(shù)的自定義地址是新的函數(shù)地址;以及 所述加載器將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到新的函數(shù)地址對(duì)應(yīng)于執(zhí)行與所述新的函數(shù)地址對(duì)應(yīng)的新的函數(shù)。
10.如權(quán)利要求7所述的電子設(shè)備,其中,所述要重定位的一個(gè)或多個(gè)函數(shù)的自定義地址是異常的內(nèi)存地址;以及 所述加載器將所述要重定位的一個(gè)或多個(gè)函數(shù)加載到異常的內(nèi)存地址對(duì)應(yīng)于捕獲所述要重定位的一個(gè)或多個(gè)函數(shù)的異常。
11.如權(quán)利要求10所述的電子設(shè)備,其中,所述異常的內(nèi)存地址是無權(quán)限的內(nèi)存地址。
12.如權(quán)利要求10所述的電子設(shè)備,其中,所述加載器在所述操作系統(tǒng)的虛擬化系統(tǒng)下加載所述程序;以及 所述電子設(shè)備進(jìn)一步包括: 切換單元,配置為在所述加載器捕獲到要重定位的一個(gè)或多個(gè)函數(shù)的異常之后,將所述一個(gè)或多個(gè)函數(shù)的執(zhí)行從所 述虛擬化系統(tǒng)的虛擬化端切換到主機(jī)端。
【文檔編號(hào)】G06F9/445GK103513995SQ201210206420
【公開日】2014年1月15日 申請(qǐng)日期:2012年6月18日 優(yōu)先權(quán)日:2012年6月18日
【發(fā)明者】黃紹華, 郭琦, 陸見微 申請(qǐng)人:聯(lián)想(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1