亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        X86匯編程序可視調(diào)試虛擬機(jī)的設(shè)計(jì)與實(shí)現(xiàn)

        2012-07-25 11:06:38吳偉民劉沛昌
        關(guān)鍵詞:指令調(diào)試可視化

        蘇 慶,吳偉民,黃 彪,劉沛昌,劉 聰

        (廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣東 廣州510006)

        0 引 言

        程序可視化[1]作為科學(xué)計(jì)算可視化[2]的一個(gè)重要分支,其主要特點(diǎn)體現(xiàn)于編程以及運(yùn)行環(huán)境可視化兩個(gè)方面[3]。目前,匯編語(yǔ)言編程在單片機(jī)應(yīng)用研發(fā)以及底層硬件驅(qū)動(dòng)程序設(shè)計(jì)[4]開(kāi)發(fā)等方面仍然存在普遍應(yīng)用。然而大多數(shù)匯編語(yǔ)言可視化編程開(kāi)發(fā)工具僅局限于程序編輯可視化層次,并無(wú)將匯編語(yǔ)言的執(zhí)行過(guò)程進(jìn)行可視化呈現(xiàn)[5],使得用戶未能深入觀察程序的執(zhí)行過(guò)程,大大影響了匯編程序的開(kāi)發(fā)以及調(diào)試效率[6]。

        由此,本文應(yīng)用虛擬機(jī)設(shè)計(jì)理論[7]以及可視化技術(shù)相結(jié)合,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)可視化匯編程序集成開(kāi)發(fā)環(huán)境——X86VVM2[8],該環(huán)境具備從匯編程序編輯到程序動(dòng)態(tài)調(diào)試各階段進(jìn)行全面可視化的特征。

        1 X86VVM2內(nèi)核

        作為可視化匯編程序集成開(kāi)發(fā)環(huán)境的一個(gè)重要組成部分,X86VVM2虛擬機(jī)內(nèi)核對(duì)X86匯編源程序進(jìn)行詞法分析、語(yǔ)法分析、異常處理等處理過(guò)程,將源程序翻譯成可被X86VVM2內(nèi)核執(zhí)行的機(jī)器碼指令。X86VVM2內(nèi)核主要有如下4個(gè)主要功能:

        (1)仿真實(shí)現(xiàn)X86匯編指令功能:包括匯編語(yǔ)言指令集的語(yǔ)義實(shí)現(xiàn)。

        (2)解釋執(zhí)行X86匯編指令:執(zhí)行X86匯編指令流。

        (3)異常處理:對(duì)詞法分析、語(yǔ)法分析及執(zhí)行過(guò)程中遇到的異常進(jìn)行處理。為方便程序設(shè)計(jì)者準(zhǔn)確而快速地定位程序的錯(cuò)誤,X86VVM2將各個(gè)階段出現(xiàn)異常或錯(cuò)誤所對(duì)應(yīng)的源代碼行號(hào)直接反饋給用戶。

        (4)可視化接口:按照模塊化的開(kāi)發(fā)思想,對(duì)內(nèi)核進(jìn)行類封裝,并為可視化層提供接口,方便可視化層對(duì)X86匯編語(yǔ)言執(zhí)行過(guò)程可視化。

        X86VVM2是一個(gè)采用寄存器處理器架構(gòu)的可視化匯編程序集成開(kāi)發(fā)環(huán)境。該環(huán)境在內(nèi)核內(nèi)置堆棧,堆棧操作指令及函數(shù)的調(diào)用直接依靠此堆棧,從而提高內(nèi)核處理速度,同時(shí)降低數(shù)據(jù)處理時(shí)候的難度。X86VVM2內(nèi)核架構(gòu)如圖1所示。

        圖1 X86VVM2內(nèi)核架構(gòu)

        匯編器對(duì)X86匯編程序進(jìn)行匯編;虛擬內(nèi)存存放匯編過(guò)后可被虛擬機(jī)執(zhí)行的機(jī)器碼;棧中存放執(zhí)行push、pop等堆棧操作指令及call指令后的數(shù)據(jù);虛擬CPU執(zhí)行虛擬內(nèi)存中的機(jī)器碼序列;符號(hào)表為機(jī)器碼生成、異常處理模塊及數(shù)據(jù)可視化提供原始信息。

        X86VVM2首先將預(yù)編輯完畢的源程序存放到內(nèi)存的指定空間,經(jīng)詞法分析,語(yǔ)法分析等關(guān)鍵步驟,設(shè)置執(zhí)行程序的起始地址。虛擬機(jī)從起始地址開(kāi)始執(zhí)行源程序。虛擬機(jī)解釋執(zhí)行一條指令時(shí),可能需要進(jìn)行如下4個(gè)動(dòng)作:

        (1)取指 (Fetch):根據(jù)當(dāng)前pc寄存器值取出虛擬內(nèi)存中所對(duì)應(yīng)的指令;

        (2)譯碼 (Translate):識(shí)別當(dāng)前指令的操作數(shù);

        (3)分派 (Dispatch):執(zhí)行此條指令。

        (4)停機(jī) (Halt):當(dāng)遇到停機(jī)指令或者程序出錯(cuò)時(shí),虛擬機(jī)停止解釋執(zhí)行匯編程序。

        2 X86VVM2可視化

        基于Bednarik[9]等人提出的程序可視化流程及前人對(duì)程序可視化的研究,視X86VVM2內(nèi)核的相關(guān)數(shù)據(jù)為可視化的原始數(shù)據(jù),通過(guò)相應(yīng)的可視化算法,將虛擬CPU寄存器值的變化及寄存器之間數(shù)據(jù)的交互、程序編輯、內(nèi)核棧中數(shù)據(jù)的動(dòng)態(tài)變化及調(diào)試過(guò)程進(jìn)行可視化。

        程序執(zhí)行時(shí),通過(guò)內(nèi)核封裝的可視化接口,跟蹤內(nèi)核執(zhí)行的可視數(shù)據(jù)的變化,動(dòng)態(tài)的反映在可視化界面中,從而實(shí)現(xiàn)源程序執(zhí)行過(guò)程的可視化。X86VVM2可視化功能主要包含如下幾個(gè)部分:

        (1)CPU可視化:實(shí)現(xiàn)內(nèi)核CPU內(nèi)寄存器值的變化及寄存器之間數(shù)據(jù)交互的可視化。對(duì)于X86匯編語(yǔ)言,必須實(shí)現(xiàn)CPU寄存器的數(shù)據(jù)實(shí)時(shí)變化情況,包括各種通用寄存器、變址寄存器、堆棧寄存器、段寄存器、指令指針寄存器以及狀態(tài)標(biāo)志寄存器等。

        (2)棧信息可視化:實(shí)現(xiàn)內(nèi)核棧中內(nèi)容的動(dòng)態(tài)變換。X86匯編語(yǔ)言是基于棧式計(jì)算機(jī)模型定義,所以棧信息的實(shí)時(shí)顯示非常重要。

        (3)數(shù)據(jù)信息可視化:顯示源程序中用戶自定義的邏輯段、變量、標(biāo)識(shí)符、子程序名稱以及函數(shù)的屬性。

        (4)編輯可視化:向用戶提供程序代碼編輯交互界面,同時(shí)支持語(yǔ)法著色。同時(shí),X86VVM2編輯可視化界面還支持?jǐn)帱c(diǎn)的動(dòng)態(tài)設(shè)置。程序設(shè)計(jì)者只需要通過(guò)點(diǎn)擊編輯窗口最左邊的灰色框,即可在當(dāng)前點(diǎn)擊的位置設(shè)置斷點(diǎn)。

        (5)調(diào)試可視化:通過(guò)可視化的人機(jī)交互設(shè)計(jì),實(shí)現(xiàn)調(diào)試行為可視化。

        X86VVM2整體執(zhí)行效果如圖2所示。圖中從左至右分別依次為CPU可視化窗口、堆棧信息顯示窗口、數(shù)據(jù)顯示窗口及編輯可視化窗口。可視界面中下面是信息顯示窗口,用于顯示程序異常提示信息及程序運(yùn)行的結(jié)果。

        2.1 程序編輯可視化

        X86VVM2采用類似于主流高級(jí)語(yǔ)言集成開(kāi)發(fā)環(huán)境類似的著色方案,具有較高的用戶親和度。X86VVM2編輯可視化功能包括:語(yǔ)法著色、行號(hào)顯示及斷點(diǎn)設(shè)置:

        (1)語(yǔ)法著色。為方便程序設(shè)計(jì)者編輯程序,X86VVM2對(duì)不同的單詞類型進(jìn)行語(yǔ)法高亮顯示。該著色方案以不同類型顏色值的十六機(jī)制表示形式區(qū)分各類單詞。其中關(guān)鍵字為0xFF00FF (棕色);常量為0x0000FF (黑色);偽碼為0x123456(粉紅色);注釋為0x00FF00(綠色);寄存器為0x00FF00(寶藍(lán)色)。

        (2)行號(hào)顯示。X86VVM2直接將行號(hào)信息顯示在編輯可視化界面中。同時(shí)內(nèi)核運(yùn)行時(shí),根據(jù)當(dāng)前運(yùn)行的指令定位代碼編輯框內(nèi)的指令,從而實(shí)現(xiàn)代碼跟蹤可視化。

        (3)斷點(diǎn)設(shè)置。斷點(diǎn)功能是程序開(kāi)發(fā)環(huán)境必須具備的基本程序調(diào)試功能。當(dāng)程序運(yùn)行過(guò)程中遇到斷點(diǎn)時(shí),內(nèi)核首先獲取當(dāng)前設(shè)置斷點(diǎn)的行號(hào)信息,實(shí)現(xiàn)X86VVM2動(dòng)態(tài)調(diào)試。

        X86VVM2的編輯可視化窗口如圖3所示。X86VVM2對(duì)關(guān)鍵字、數(shù)字及注釋等進(jìn)行語(yǔ)法著色,同時(shí)在最左邊顯示當(dāng)前源代碼對(duì)應(yīng)的行號(hào),方便了程序設(shè)計(jì)者對(duì)源代碼的閱讀,同時(shí)在圖中第20行和第27行出現(xiàn)的白色圓圈表示在當(dāng)前行設(shè)置斷點(diǎn),圖中顯示的是向內(nèi)核發(fā)出連續(xù)執(zhí)行命令時(shí),程序運(yùn)行暫停在第一個(gè)斷點(diǎn),此時(shí)編輯框內(nèi)第20行的程序內(nèi)容被突出顯示。

        圖2 X86VVM2集成開(kāi)發(fā)環(huán)境界面

        圖3 X86VVM2編輯可視化

        2.2 CPU可視化

        匯編程序具有直接訪問(wèn)CPU寄存器的特點(diǎn)。X86VVM2的CPU信息可視化重點(diǎn)關(guān)注CPU內(nèi)部寄存器數(shù)據(jù)的變化及寄存器之間數(shù)據(jù)交互的動(dòng)態(tài)可視化。寄存器數(shù)據(jù)的變化通過(guò)寄存器值紅色高亮的表現(xiàn)形式進(jìn)行體現(xiàn);寄存器之間數(shù)據(jù)的交互按照CPU內(nèi)寄存器在可視化界的布局,用紅色箭頭來(lái)表示數(shù)據(jù)交互的方向性。同時(shí)X86VVM2還將內(nèi)核當(dāng)前執(zhí)行的指令顯示在CPU可視化窗口中。

        X86VVM2CPU信息可視化運(yùn)行過(guò)程如圖4所示。中間藍(lán)色的豎線模擬表示系統(tǒng)數(shù)據(jù)總線,寄存器之間的數(shù)據(jù)交互就通過(guò)此線。圖中的兩個(gè)紅色箭頭表示數(shù)據(jù)傳遞的方向,最下方的內(nèi)容表示當(dāng)前運(yùn)行的指令 (在實(shí)際運(yùn)行時(shí),該指令是紅色字體標(biāo)示)。對(duì)指令進(jìn)行分析可知,可視化界面箭頭所表示的數(shù)據(jù)傳遞的方向正確。

        圖4 CPU可視化效果

        2.3 棧信息可視化

        標(biāo)準(zhǔn)X86匯編語(yǔ)言中,當(dāng)遇到堆棧操作指令或函數(shù)調(diào)用指令時(shí),棧中數(shù)據(jù)會(huì)發(fā)生變化,因此,將棧中數(shù)據(jù)及數(shù)據(jù)的變化進(jìn)行可視化,方便程序設(shè)計(jì)者對(duì)匯編程序的調(diào)試。

        圖5是某個(gè)程序運(yùn)行過(guò)程中X86VVM2棧信息可視化截圖。棧頂?shù)奈恢秒S著程序找涉及堆棧操作指令及函數(shù)調(diào)用指令所引起的棧中數(shù)據(jù)變化而變化,從而實(shí)現(xiàn)棧的動(dòng)態(tài)可視化。

        2.4 程序調(diào)試可視化

        調(diào)試可視化作為X86VVM2實(shí)現(xiàn)X86匯編語(yǔ)言執(zhí)行過(guò)程可視化中一個(gè)重要的模塊,程序設(shè)計(jì)者可以通過(guò)菜單或點(diǎn)擊工具按鈕的方式向內(nèi)核傳遞調(diào)試的動(dòng)作。圖6展示的是X86VVM2的調(diào)試可視化接口。

        X86VVM2采用指令中斷形式,程序設(shè)計(jì)者可以在編輯可視化界面設(shè)置斷點(diǎn),內(nèi)核根據(jù)斷點(diǎn)設(shè)置的情況中斷指令的運(yùn)行。X86VVM2支持單步調(diào)試和連續(xù)調(diào)試兩種調(diào)試方式。調(diào)試過(guò)程中,根據(jù)當(dāng)前運(yùn)行指令的行號(hào)來(lái)判斷是否當(dāng)前行號(hào)是否在斷點(diǎn)數(shù)組中,如果存在則暫停指令的運(yùn)行,如果不存在,則連續(xù)運(yùn)行虛擬內(nèi)存中的指令。調(diào)試程序時(shí),通過(guò)獲取存放在虛擬內(nèi)存中指令的行號(hào)信息,動(dòng)態(tài)定位編輯框中的內(nèi)容,實(shí)現(xiàn)調(diào)試過(guò)程中代碼跟蹤可視化。

        程序流程反映程序員的設(shè)計(jì)思路,所以無(wú)論是對(duì)程序流程作靜態(tài)可視化還是動(dòng)態(tài)可視化,都可以起到協(xié)助程序員對(duì)設(shè)計(jì)思路的逐步形成以及求精、優(yōu)化的重要作用。其中程序流程靜態(tài)可視化可以為程序員優(yōu)化設(shè)計(jì)算法提供輔助;而程序流程動(dòng)態(tài)可視化則可以迅速定位至程序熱點(diǎn)區(qū)域,以及該熱點(diǎn)區(qū)域在設(shè)計(jì)思路中的邏輯位置,對(duì)提高程序效率具有重要意義。

        程序流程可視化[10]同時(shí)還為程序的調(diào)試和進(jìn)一步理解提供了一種重要的輔助手段。流程圖的自動(dòng)生成無(wú)疑給程序編寫人員帶來(lái)了很大的便利。根據(jù)X86匯編語(yǔ)言的特點(diǎn),為了更好地展示匯編函數(shù)調(diào)用的動(dòng)作,X86VVM2實(shí)現(xiàn)了一個(gè)具有翻頁(yè)效果的流程圖,其實(shí)現(xiàn)過(guò)程分為以下3個(gè)步驟:

        (1)基本塊劃分及建立鏈表。將源程序劃分為各個(gè)邏輯上獨(dú)立的模塊,并在內(nèi)核建立其相關(guān)數(shù)據(jù)結(jié)構(gòu),使基本塊按順序連接起來(lái),形成一條靜態(tài)鏈表。

        (2)繪制主流程圖及子流程。從模塊鏈表中查找屬于主程序的模塊,并將其依次繪制于流程圖顯示界面;繼而從模塊鏈表中找出當(dāng)前子函數(shù)所對(duì)應(yīng)的模塊,并顯示在流程圖顯示界面中。

        (3)分頁(yè)效果實(shí)現(xiàn),函數(shù)調(diào)用或用戶點(diǎn)擊子函數(shù)時(shí),流程圖界面顯示子程序流程,子函數(shù)運(yùn)行完時(shí)或用戶點(diǎn)擊主流程圖時(shí),流程圖界面顯示主程序流程圖,實(shí)現(xiàn)流程圖的動(dòng)態(tài)切換,實(shí)現(xiàn)流程圖的翻頁(yè)。

        2.4.1 模塊劃分及建立靜態(tài)鏈表

        按照匯編指令是否影響程序執(zhí)行流程流程圖,將匯編指令分為見(jiàn)表1的5種類型。

        表1 匯編指令分類

        通過(guò)遍歷保存在虛擬內(nèi)存中的指令,建立起模塊靜態(tài)鏈表。建立X86VVM2模塊鏈表的算法描述如下:

        (1)保存跳轉(zhuǎn)指令 (包括條件跳轉(zhuǎn)指令和無(wú)條件跳轉(zhuǎn)指令)的行號(hào)及其跳轉(zhuǎn)的地址 (即行號(hào))。非函數(shù)調(diào)用其地址保存在m_addrList數(shù)組中,函數(shù)調(diào)用的地址保存在m_callArray數(shù)組中。

        (2)對(duì)上述m_addrList和m_callArray數(shù)組中的內(nèi)容去掉重復(fù)值,并按小到大排序。

        (3)重新遍歷虛擬內(nèi)存中的指令數(shù)組,填充各個(gè)模塊的信息,建立模塊鏈表。由于X86VVM2將模塊的5種類型都看作獨(dú)立的基本塊,因此m_addrList[i]和m_addrList[i+1]都當(dāng)作一個(gè)模塊進(jìn)行處理,同時(shí)m_addrList[i]和m_addrList[i+1]之間的內(nèi)容也當(dāng)作一個(gè)模塊。

        例如對(duì)于下列匯編代碼片段:

        假設(shè)已經(jīng)建立好指令數(shù)組。首先找出指令數(shù)組中jmp,call,jz指令所在的行號(hào)和跳轉(zhuǎn)地址,分別為3、7、11和6、15、10。將這些地址去掉重復(fù)值后進(jìn)行排序,結(jié)果為3,6,7,10,11,15。然后按照以排序好的數(shù)組將源程序分為多個(gè)模塊,數(shù)組相鄰兩項(xiàng)之間的數(shù)子組成一個(gè)模塊。如1—2,4—5,8—9,12—14。由于X86VVM2將每條跳轉(zhuǎn)指令都作為單獨(dú)的一個(gè)基本塊處理,所以上述代碼分為1—2,3,4—5,6,7,8—9,10,11,12—14,15共10個(gè)基本塊。

        2.4.2 流程圖的繪制

        流程圖的繪制包括主流程圖的繪制以及子流程圖的繪制。

        在流程圖的繪制中,無(wú)條件轉(zhuǎn)移指令、函數(shù)調(diào)用指令以及返回指令共享同一中無(wú)條件轉(zhuǎn)移節(jié)點(diǎn)。流程圖的繪制過(guò)程算法如下:

        (1)繪制程序開(kāi)始節(jié)點(diǎn)。

        (2)繪制當(dāng)前流程圖頁(yè)面確定的顯示模塊。

        (3)如果入到子流程圖的入口,則進(jìn)入子流程圖的繪制。

        (4)繪制結(jié)束節(jié)點(diǎn)。

        (5)繪制開(kāi)始節(jié)點(diǎn)、結(jié)束節(jié)點(diǎn)及模塊與模塊之間的連接。

        在X86VVM2運(yùn)行過(guò)程中遇到函數(shù)調(diào)用時(shí),流程圖界面顯示子程序流的流程圖,子函數(shù)運(yùn)行完時(shí),流程圖顯示界面顯示主函數(shù)流程圖。X86VVM2的流程圖翻頁(yè)顯示效果借助棧數(shù)據(jù)結(jié)構(gòu),其實(shí)現(xiàn)分為如下3個(gè)步驟:

        (1)將當(dāng)前頁(yè)面繪制過(guò)程中保存的第一模塊的首地址壓棧 (push)。

        (2)確定被調(diào)用的子函數(shù)。

        (3)畫(huà)出子程序流程圖。

        子程序調(diào)用返回時(shí),將先出棧,然后畫(huà)出以此棧頂節(jié)點(diǎn)開(kāi)始的主程序流程圖。

        3 實(shí)驗(yàn)與分析

        以一個(gè)十六進(jìn)制形式向屏幕打印輸出十進(jìn)制數(shù)字的匯編程序print.asm為例,展示其代碼流程圖的可視化效果。

        當(dāng)程序設(shè)計(jì)者使用單步運(yùn)行命令模式進(jìn)行調(diào)試時(shí),首先缺省顯示print.asm主程序的流程圖,如圖7(a)所示。

        實(shí)體粗線方框 (在實(shí)際運(yùn)行過(guò)程中,該方框?yàn)檩^醒目的紅色,易為方便用戶識(shí)別)表示的模塊指示當(dāng)前運(yùn)作的模塊,當(dāng)程序執(zhí)行至第6行,即調(diào)用show_msg子函數(shù)時(shí),則自動(dòng)由主程序流程圖切換至show_msg子函數(shù)的子程序流程圖,如圖7(b)所示。

        由于X86VVM2的可視化流程圖功能向用戶提供不同粒度的可視化效果,令用戶可在程序調(diào)試過(guò)程中實(shí)時(shí)在不同層次的流程圖之間自由切換。

        print.asm程序源代碼如下:

        圖7 可視化流程圖效果

        4 結(jié)束語(yǔ)

        本文應(yīng)用虛擬機(jī)構(gòu)建技術(shù)以及可視化技術(shù)構(gòu)建的匯編程序集成開(kāi)發(fā)環(huán)境X86VVM2具有將匯編程序開(kāi)發(fā)各個(gè)階段全面進(jìn)行可視化,以輔助用戶進(jìn)行可視編程以及調(diào)試的特性。而程序調(diào)試過(guò)程可視則提供不同粒度程序流程圖供程序設(shè)計(jì)者使用,并且與程序執(zhí)行過(guò)程密切結(jié)合,實(shí)時(shí)對(duì)比當(dāng)前程序執(zhí)行指令在邏輯視圖中的位置。

        另一方面,X86VVM2采用自行開(kāi)發(fā)的虛擬機(jī)內(nèi)核,可對(duì)匯編程序代碼片段直接解釋執(zhí)行,適用于軟件逆向工程后反匯編結(jié)果的動(dòng)態(tài)跟蹤調(diào)試。

        [1]LI Kai-lun,WU Wei-min,SU Qing.Analysis and implementation of visualization Java class loader [J].Computer Engineering and Design,2006,27 (20):3909-3912 (in Chinese).[黎凱倫,吳偉民,蘇慶.可視化Java類裝載器的分析與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27 (20):3909-3912.]

        [2]Ben Fry.Visualizing Data.The United States:O’Reilly Media,Inc[S].2009:2-6.

        [3]SU Qing.Research and realization for dynamic visualization technology of Java program and object relation [D].Guangzhou:Guangdong University of Technology,2006 (in Chinese).[蘇慶.Java程序及對(duì)象關(guān)系的動(dòng)態(tài)可視技術(shù)研究與實(shí)現(xiàn) [D].廣州:廣東工業(yè)大學(xué),2006.]

        [4]Muhammad Ali Mazidi,Janice G Mazidi,Danny Causey.The 80x86IBM PC and compatible computers volumes I &&II assembly language,design,and interfacing [M].5th ed.TheUnited States:Prentice Hall,2009:54-57.

        [5]LIAO Hua-yun.Research and realization for X86visual virtual machine[D].Guangzhou:Guangdong University of Technology,2005(in Chinese).[廖華赟.X86可視虛擬機(jī)的研究與實(shí)現(xiàn) [D].廣東廣州:廣東工業(yè)大學(xué),2005.]

        [6]SU Qing,WU Wei-min,LI Kai-lu.Design and realization of structural software automated test [J].Computer Engineering and Design,2006,27 (8):1417-1419 (in Chinese). [蘇慶,吳偉民,黎凱倫.結(jié)構(gòu)性自動(dòng)軟件測(cè)試的設(shè)計(jì)方法與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì)2006,27 (8):1417-1419.]

        [7]Jim Smith,Ravi Nair.Virtual machines:Versatile platforms for systems and processes [M].The United States:Morgan Kaufmann,2005:455-458.

        [8]HUANG Biao,Design and implementation of visual virtual machine X86VVM2 [D].Guangzhou:Guangdong University of Technology,2011(in Chinese).[黃彪.可視虛擬機(jī)X86VVM2的設(shè)計(jì) 與實(shí)現(xiàn) [D].廣州:廣東工業(yè)大學(xué),2011.]

        [9]Bednarik R,Moreno A,Myller N,et al.Smart program visualization technologies:Planning a next step [C].Taiwan:Proceedings of the Fifth IEEE International Conference on Advanced Learning Technologies,2005:717-721.

        [10]Xie Weibo,F(xiàn)u Ting.Design and implementation of the virtual machine constructing on register [C].International Conference on Computer Science and Software Engineering,2008:424-430.

        猜你喜歡
        指令調(diào)試可視化
        聽(tīng)我指令:大催眠術(shù)
        基于CiteSpace的足三里穴研究可視化分析
        基于Power BI的油田注水運(yùn)行動(dòng)態(tài)分析與可視化展示
        云南化工(2021年8期)2021-12-21 06:37:54
        基于CGAL和OpenGL的海底地形三維可視化
        “融評(píng)”:黨媒評(píng)論的可視化創(chuàng)新
        ARINC661顯控指令快速驗(yàn)證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        基于航拍無(wú)人機(jī)的設(shè)計(jì)與調(diào)試
        電子制作(2018年12期)2018-08-01 00:47:44
        FOCAS功能在機(jī)床調(diào)試中的開(kāi)發(fā)與應(yīng)用
        無(wú)線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
        電子制作(2017年19期)2017-02-02 07:08:38
        日日摸日日碰人妻无码老牲| 国语自产啪在线观看对白| av毛片亚洲高清一区二区| 日本添下边视频全过程| 亚洲国产精华液网站w| 成人精品一区二区三区中文字幕 | 蜜桃日本免费观看mv| 久久精品国产亚洲av高清热| 亚洲Va欧美va国产综合| AV永久天堂网| 精品国产乱码一区二区三区| 国产视频在线观看一区二区三区 | 国产av乳头久久一区| 日韩av毛片在线观看| 国产ww久久久久久久久久| 国产suv精品一区二区6| av人摸人人人澡人人超碰小说| 亚洲av成人一区二区三区av| 亚洲日韩成人无码不卡网站| 成人国产一区二区三区av | 色婷婷精品国产一区二区三区| 亚洲中文字幕在线综合| 国产免费av片无码永久免费 | 蜜臀一区二区av天堂| 情爱偷拍视频一区二区| 色欲人妻综合网| 国模私拍福利一区二区| 久久久久国产亚洲AV麻豆| 欧美日韩国产在线人成dvd| 精品国产一区二区三区香| 国产香蕉视频在线播放| 色屁屁www影院免费观看入口| 国产伦精品一区二区三区四区| 91久久大香伊蕉在人线国产| 亚洲av无码精品色午夜app| 中文字幕乱码熟女人妻水蜜桃| 抽插丰满内射高潮视频| 亚洲亚洲亚洲亚洲亚洲天堂| av日韩高清一区二区| 中文字幕免费不卡二区| 久久精品一品道久久精品9|