• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種C語言級(jí)單步調(diào)試系統(tǒng)的功能實(shí)現(xiàn)方案※

    2015-07-03 03:33:48林廣棟黃光紅耿銳
    關(guān)鍵詞:函數(shù)調(diào)用斷點(diǎn)代碼

    林廣棟,黃光紅,耿銳

    (中國電子科技集團(tuán)公司 第三十八研究所,合肥230088)

    引 言

    本文提出的方案充分考慮了C語言單步調(diào)試需要面臨的問題,可以實(shí)現(xiàn)任意復(fù)雜程序的C語言代碼行的單步調(diào)試功能。方案原理簡(jiǎn)單,容易理解,并經(jīng)過大量BWDSP芯片調(diào)試過程的檢驗(yàn),已經(jīng)證明了其正確性。

    1 單步調(diào)試功能簡(jiǎn)介

    單步調(diào)試是指以源代碼行為單位對(duì)被調(diào)試程序的運(yùn)行進(jìn)行控制的調(diào)試功能。單步調(diào)試不需要用戶顯式地設(shè)置斷點(diǎn),可以控制程序運(yùn)行一個(gè)或若干個(gè)代碼行。通過這種方式,用戶可以結(jié)合變量查看、堆棧查看、觀察點(diǎn)等調(diào)試功能,把潛在的程序錯(cuò)誤定位至某個(gè)代碼行。

    單步調(diào)試功能一般分為兩大類:匯編級(jí)單步調(diào)試功能和源代碼級(jí)單步調(diào)試功能。匯編級(jí)單步調(diào)試功能指單步調(diào)試控制運(yùn)行的單位是匯編語言的代碼行。源代碼級(jí)單步調(diào)試指單步調(diào)試控制運(yùn)行的單位是高級(jí)語言源代碼中的代碼行。每類單步調(diào)試功能一般又包括三種:跳入、跳過、跳出。

    對(duì)于匯編級(jí)單步調(diào)試,3種單步調(diào)試功能的實(shí)現(xiàn)較為簡(jiǎn)單,其功能概述如下:

    ①跳入調(diào)試功能控制被調(diào)試程序運(yùn)行至當(dāng)前代碼行中調(diào)用的函數(shù)內(nèi)部。若當(dāng)前代碼行中無函數(shù)調(diào)用,則控制被調(diào)試程序運(yùn)行完當(dāng)前代碼行。

    ②跳過調(diào)試功能控制被調(diào)試程序運(yùn)行完當(dāng)前代碼行。若當(dāng)前代碼行中有函數(shù)調(diào)用,則控制被調(diào)試程序執(zhí)行完該函數(shù)調(diào)用并繼續(xù)運(yùn)行完當(dāng)前代碼行。

    ③跳出調(diào)試功能控制被調(diào)試程序運(yùn)行至當(dāng)前函數(shù)的返回地址處。

    對(duì)于高級(jí)語言(如C語言),其3種單步調(diào)試功能從總體概念上與匯編級(jí)單步調(diào)試功能類似。但由于C語言一行代碼經(jīng)編譯后生成一段匯編指令,且一行代碼中的語句可能非常復(fù)雜,其單步調(diào)試功能相對(duì)于匯編級(jí)單步調(diào)試更為復(fù)雜。C語言單步調(diào)試功能的實(shí)現(xiàn)要面對(duì)的問題略——編者注。

    2 方案概述

    2.1 已有方案介紹

    目前,單步調(diào)試功能的實(shí)現(xiàn)方案分為兩大類:一類通過不斷控制程序流按匯編指令行逐行執(zhí)行,進(jìn)行匯編級(jí)單步執(zhí)行,每執(zhí)行一行匯編代碼就控制被調(diào)試程序停下來,分析程序地址,根據(jù)當(dāng)前程序地址判斷單步調(diào)試功能是否完成;另一類通過反匯編當(dāng)前源代碼行生成的匯編程序段,尋找其中的函數(shù)調(diào)用、出口地址,在這些位置設(shè)置臨時(shí)斷點(diǎn)。

    第一種方案的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,容易理解。但是,若源代碼行中的代碼很復(fù)雜,生成的匯編程序段內(nèi)容很多,使用第一種方案將使程序反復(fù)處于運(yùn)行和停止?fàn)顟B(tài),調(diào)試效率不高。本文介紹的單步調(diào)試功能實(shí)現(xiàn)方法屬于第二類方案。

    國內(nèi)已經(jīng)有少數(shù)研究機(jī)構(gòu)開展單步調(diào)試功能的研究,但這些研究并未能完全解決C語言單步調(diào)試功能面臨的所有問題。參考文獻(xiàn)[4-5]按第一種方案實(shí)現(xiàn)了一款調(diào)試器的單步調(diào)試功能,顯然這種實(shí)現(xiàn)方式具有不可避免的通信負(fù)擔(dān)。參考文獻(xiàn)[6]實(shí)現(xiàn)了一款基于串口通信的嵌入式調(diào)試系統(tǒng),其單步調(diào)試功能也是基于第一種方案。參考文獻(xiàn)[7]較為完整地介紹了一款調(diào)試器中單步調(diào)試功能的實(shí)現(xiàn),其實(shí)現(xiàn)方案屬于第二類方案,基本完成了C語言調(diào)試的主要功能。但該項(xiàng)工作并未考慮到C語言中單步調(diào)試功能的復(fù)雜性,若被調(diào)試代碼中包含較為復(fù)雜的代碼,該款調(diào)試器的單步調(diào)試功能將不能正確完成。

    2.2 幾種出口類型介紹

    BWDSP芯片調(diào)試系統(tǒng)軟件在充分調(diào)研了國內(nèi)外前人工作的基礎(chǔ)上,參考已經(jīng)成功實(shí)現(xiàn)的方案,自主實(shí)現(xiàn)了C語言單步調(diào)試功能。BWDSP芯片配套調(diào)試系統(tǒng)軟件的單步調(diào)試功能基于在代碼行出口處設(shè)置臨時(shí)斷點(diǎn)的方案實(shí)現(xiàn)。與國內(nèi)外已有工作相比,該方案充分考慮了C語言代碼行中的代碼復(fù)雜性,可以解決很多問題。

    BWDSP芯片配套調(diào)試系統(tǒng)把一行C語言代碼行的出口分為如下幾類:

    ①通過for、while循環(huán)、break、continue語句跳轉(zhuǎn)至其他代碼行,該類出口稱為L(zhǎng)(Label)類出口,其出口地址集記為L(zhǎng)。C語言中的這些跳轉(zhuǎn)指令最終編碼為BWDSP芯片指令集中的跳轉(zhuǎn)指令。BWDSP芯片指令集中的跳轉(zhuǎn)指令分為4類:

    (a)條件跳轉(zhuǎn)。跳轉(zhuǎn)有可能發(fā)生,也可能不發(fā)生,根據(jù)運(yùn)行時(shí)的計(jì)算結(jié)果或寄存器值確定。

    (b)絕對(duì)跳轉(zhuǎn)。跳轉(zhuǎn)一定會(huì)發(fā)生,跳轉(zhuǎn)目的地址在指令機(jī)器碼中編碼。

    (c)相對(duì)跳轉(zhuǎn)。跳轉(zhuǎn)一定會(huì)發(fā)生,跳轉(zhuǎn)目的地址是當(dāng)前地址加上一個(gè)偏移。

    (d)寄存器跳轉(zhuǎn)。跳轉(zhuǎn)一定會(huì)發(fā)生,跳轉(zhuǎn)目的地址是某個(gè)寄存器中的值,不能從可執(zhí)行文件程序段獲取。

    對(duì)于前面3類跳轉(zhuǎn),其目的地址可以從程序段反匯編得到。而對(duì)第4類跳轉(zhuǎn),其目的地址不能從程序段得到,需要在運(yùn)行時(shí)從某個(gè)寄存器中讀取。

    ②通過函數(shù)調(diào)用跳轉(zhuǎn)至其他行,這類出口稱為F(Function)類出口,這些函數(shù)的入口地址集記為F。C語言中的函數(shù)調(diào)用最終被編碼為BWDSP芯片指令集中的函數(shù)調(diào)用指令。BWDSP指令集中的函數(shù)調(diào)用指令分為兩類:

    (a)絕對(duì)地址函數(shù)調(diào)用。函數(shù)調(diào)用的入口地址編碼在指令中,可以從程序段得到。

    (b)寄存器函數(shù)調(diào)用。函數(shù)調(diào)用的入口地址是調(diào)用時(shí)某個(gè)寄存器中的值。

    一般,直接調(diào)用C語言中的函數(shù)會(huì)編譯為第一類函數(shù)調(diào)用指令;通過函數(shù)指針調(diào)用函數(shù)會(huì)編譯為第二類函數(shù)調(diào)用指令。同樣,第一類函數(shù)調(diào)用的入口地址可以通過反匯編程序段得到,而第二類函數(shù)調(diào)用的入口地址只能在運(yùn)行時(shí)讀取某個(gè)寄存器中的值獲得。

    ③通過return語句跳轉(zhuǎn)至本幀的返回地址,這類出口稱為R(Return)類出口,返回地址記為R。一個(gè)函數(shù)可能有多個(gè)retrun語句,一行C語言代碼中也可能有多處函數(shù)返回。但由于程序流一定處于函數(shù)調(diào)用棧中的棧頂,該函數(shù)返回后肯定返回至上一幀的現(xiàn)場(chǎng),所以當(dāng)前PC所處的函數(shù)中的多處return語句其實(shí)返回到同一個(gè)地址。而且,由于函數(shù)可能在多處被調(diào)用,所以該返回地址不能通過反匯編程序段獲得,只能通過運(yùn)行時(shí)函數(shù)調(diào)用棧獲得。

    ④直接運(yùn)行完本行代碼來到的程序地址,這類出口稱為N(Next),其出口地址記為N。程序運(yùn)行完當(dāng)前行后,會(huì)自然地運(yùn)行下一行的指令,因此下一行指令的開始地址也是本行代碼的一個(gè)出口地址。對(duì)于部分C語言代碼行,并沒有下一行出口地址。例如,若一個(gè)代碼行是一函數(shù)的最后一行,若執(zhí)行該行代碼時(shí),或者跳轉(zhuǎn)至其他行,或返回調(diào)用函數(shù),肯定不會(huì)進(jìn)入下一行代碼執(zhí)行。所以,本類出口可能存在,也可能不存在。

    在將一行C語言代碼行的出口分為以上4類的基礎(chǔ)上,BWDSP調(diào)試系統(tǒng)通過在這些出口上設(shè)置臨時(shí)斷點(diǎn)實(shí)現(xiàn)單步調(diào)試功能。設(shè)置的臨時(shí)斷點(diǎn)位置不同,實(shí)現(xiàn)的單步調(diào)試功能也不同。對(duì)有些特殊的出口,除了設(shè)置臨時(shí)斷點(diǎn),還要做一些特殊處理。

    3 具體實(shí)現(xiàn)

    3.1 跳 出

    跳出是實(shí)現(xiàn)方式最簡(jiǎn)單的單步調(diào)試功能,其功能是跳出當(dāng)前函數(shù),來到其返回地址處。由于一個(gè)函數(shù)在運(yùn)行時(shí)返回地址只有一個(gè),即R,所以只需要在R處設(shè)置一個(gè)臨時(shí)斷點(diǎn),然后讓被調(diào)試程序正常運(yùn)行即可。當(dāng)程序遇到斷點(diǎn)停下時(shí),若該斷點(diǎn)為用戶設(shè)置的斷點(diǎn),說明單步調(diào)試過程中用戶斷點(diǎn)被觸發(fā),跳出單步調(diào)試結(jié)束。若該斷點(diǎn)為臨時(shí)斷點(diǎn)R,說明跳出功能正常實(shí)現(xiàn),單步調(diào)試結(jié)束。若當(dāng)前函數(shù)是main函數(shù),則函數(shù)棧中只有一幀,無需設(shè)置臨時(shí)斷點(diǎn),直接運(yùn)行即可。

    跳出單步調(diào)試功能的實(shí)現(xiàn)方案流程如圖1所示。

    圖1 跳出單步調(diào)試功能實(shí)現(xiàn)流程圖

    3.2 跳 過

    跳過功能使程序執(zhí)行完當(dāng)前代碼行。若本代碼行中有函數(shù)調(diào)用,則執(zhí)行完該函數(shù),并返回本代碼行繼續(xù)運(yùn)行,直至程序自然地跳出該代碼行為止。所以,跳過單步調(diào)試功能應(yīng)在L、N類出口設(shè)置臨時(shí)斷點(diǎn)。

    一般,C語言程序在進(jìn)入函數(shù)和跳出函數(shù)時(shí)會(huì)有一小段代碼用來進(jìn)行函數(shù)棧入棧和出棧的操作。這一小段代碼在調(diào)試信息中一般與源代碼中函數(shù)開始和結(jié)束時(shí)的正反大括號(hào)對(duì)應(yīng)。單步調(diào)試時(shí),若代碼行中有return語句,該語句實(shí)際上被編譯為一個(gè)跳轉(zhuǎn)語句,跳轉(zhuǎn)至函數(shù)結(jié)尾的大括號(hào)處,并不會(huì)真正返回上一層調(diào)用函數(shù)。若代碼行中有函數(shù)結(jié)束時(shí)的大括號(hào),則程序在該代碼行中真正有可能返回調(diào)用函數(shù)。返回上一層調(diào)用函數(shù)的指令在BWDSP指令集中被編碼為RET指令,因此可以通過檢查代碼行中是否有RET指令判斷該代碼行是否有可能返回調(diào)用函數(shù)。若代碼行中有RET指令,還要在R類出口處設(shè)置斷點(diǎn)。

    程序PC即使在一行代碼中間某個(gè)位置,也有可能跳回到該行代碼的開始位置繼續(xù)執(zhí)行。設(shè)置臨時(shí)斷點(diǎn)時(shí),需要在該行代碼中的全部L類出口處都設(shè)置斷點(diǎn),不管該跳轉(zhuǎn)指令是在當(dāng)前PC之前,還是之后。

    對(duì)于L類出口中的第一類跳轉(zhuǎn)(條件跳轉(zhuǎn))出口,不論該跳轉(zhuǎn)是否會(huì)發(fā)生,都在該出口處設(shè)置臨時(shí)斷點(diǎn)。若程序執(zhí)行了該條件跳轉(zhuǎn),本方案可以使跳過單步調(diào)試功能正常結(jié)束。若程序沒有執(zhí)行該條件跳轉(zhuǎn),設(shè)置的該臨時(shí)斷點(diǎn)也不會(huì)對(duì)單步調(diào)試功能產(chǎn)生影響。

    對(duì)于L類出口中的第4類跳轉(zhuǎn)(寄存器跳轉(zhuǎn)),其出口地址不能在運(yùn)行之前獲得,因此也不能在出口處設(shè)置臨時(shí)斷點(diǎn)。對(duì)于這類跳轉(zhuǎn),需要在其跳轉(zhuǎn)指令處設(shè)置臨時(shí)斷點(diǎn),若該臨時(shí)斷點(diǎn)觸發(fā),則讀取其跳轉(zhuǎn)目的地址寄存器的值。若讀到的跳轉(zhuǎn)目的地址在本行代碼中,則保留所有已經(jīng)設(shè)置的臨時(shí)斷點(diǎn),繼續(xù)運(yùn)行程序。若該跳轉(zhuǎn)的目的地址不在本行代碼中,則控制程序進(jìn)行一次匯編級(jí)指令行單步以執(zhí)行該跳轉(zhuǎn),然后結(jié)束本次單步調(diào)試過程。

    由于本方案沒有在函數(shù)調(diào)用出口處設(shè)置斷點(diǎn),若源代碼行中有多個(gè)函數(shù)調(diào)用,則這些函數(shù)調(diào)用會(huì)依次執(zhí)行,不會(huì)觸發(fā)斷點(diǎn)。

    被調(diào)試程序觸發(fā)以上設(shè)置的臨時(shí)斷點(diǎn)中的任意一個(gè),都意味著單步跳過調(diào)試過程的結(jié)束。所以,只要臨時(shí)斷點(diǎn)位置是代碼行的合法可能出口,設(shè)置多個(gè)臨時(shí)斷點(diǎn)就不會(huì)對(duì)單步調(diào)試功能的正確性產(chǎn)生影響。

    本方案解決了第1節(jié)中介紹的第1、2、3、4、5、7、8、9問題,而第6個(gè)問題不會(huì)對(duì)跳過單步調(diào)試功能產(chǎn)生影響。跳過單步調(diào)試的實(shí)現(xiàn)方案流程如圖2所示。

    3.3 跳 入

    跳入調(diào)試功能使程序可以進(jìn)入代碼行中調(diào)用的函數(shù)內(nèi)部。若程序在當(dāng)前代碼行中的執(zhí)行過程中沒有遇到函數(shù)調(diào)用,則執(zhí)行完本代碼行即完成單步調(diào)試功能,此時(shí)其調(diào)試功能與跳過單步調(diào)試類似。顯然,實(shí)現(xiàn)單步跳入調(diào)試功能需要在L、F、R、N處都設(shè)置臨時(shí)斷點(diǎn)。

    對(duì)于F類出口中的第二類函數(shù)調(diào)用(寄存器函數(shù)調(diào)用),同樣需要在函數(shù)調(diào)用指令處設(shè)置臨時(shí)斷點(diǎn)。當(dāng)該臨時(shí)斷點(diǎn)觸發(fā)時(shí),控制程序進(jìn)行一次匯編級(jí)指令行單步,使程序進(jìn)入調(diào)用函數(shù)。

    由于本方案在所有函數(shù)調(diào)用處都設(shè)置了斷點(diǎn),所以程序會(huì)停止在執(zhí)行過程中的第一個(gè)函數(shù)調(diào)用出口。調(diào)試行為表現(xiàn)為程序會(huì)跳入執(zhí)行過程中遇到的第一個(gè)函數(shù)。

    第1節(jié)中介紹的所有問題都對(duì)跳入單步調(diào)試功能有影響,而本方案可以解決所有9個(gè)問題。跳入調(diào)試功能的實(shí)現(xiàn)流程如圖3所示。

    3.4 實(shí)驗(yàn)結(jié)果

    圖2 跳過單步調(diào)試功能實(shí)現(xiàn)流程圖

    BWDSP芯片配套調(diào)試系統(tǒng)的C語言單步調(diào)試功能按照本文介紹的方案實(shí)施。開發(fā)人員以任意復(fù)雜的C語言代碼行在各種復(fù)雜的調(diào)試場(chǎng)景下對(duì)單步調(diào)試功能進(jìn)行測(cè)試,調(diào)試系統(tǒng)均可按單步調(diào)試預(yù)定義的功能完成調(diào)試過程。目前,在BWDSP芯片的模擬器、編譯器、操作系統(tǒng)開發(fā)過程中,均已經(jīng)在項(xiàng)目組內(nèi)部試用本調(diào)試器進(jìn)行C語言級(jí)調(diào)試。

    經(jīng)過反復(fù)測(cè)試、試用、修改,本方案已經(jīng)證實(shí)是一個(gè)理想的實(shí)施方案,可以實(shí)現(xiàn)任意復(fù)雜C語言代碼行的單步調(diào)試功能。

    結(jié) 語

    本文介紹了BWDSP芯片調(diào)試系統(tǒng)中C語言單步調(diào)試功能的實(shí)現(xiàn)方案。該方案充分研究了C語言一行源代碼中可能對(duì)單步調(diào)試功能產(chǎn)生影響的各種情況,充分考慮了C語言代碼行的復(fù)雜性,可以實(shí)現(xiàn)任意復(fù)雜C語言代碼行的單步調(diào)試功能。經(jīng)BWDSP芯片調(diào)試過程的驗(yàn)證,證實(shí)了本方案的有效性。

    圖3 跳入單步調(diào)試功能實(shí)現(xiàn)流程圖

    編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。

    [1]黃光紅,劉冠南.可配置多核處理器的調(diào)試器模塊化分層設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014,14(7):13-15.

    [2]向征.基于C30的嵌入式計(jì)算機(jī)自主調(diào)試環(huán)境的建立和軟件設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),1999(3):18-20,56.

    [3]文躍榮.基于UART的電能芯片在線調(diào)試設(shè)計(jì)[D].長(zhǎng)沙:湖南大學(xué),2012.

    [4]劉曉升,王宜懷.HC08系列微控制器在線調(diào)試的關(guān)鍵技術(shù)分析[J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30(3):532-535.

    [5]龔蘭蘭,劉曉升,朱巧明.遠(yuǎn)程調(diào)試系統(tǒng)的關(guān)鍵技術(shù)分析[J].計(jì)算機(jī)應(yīng)用與軟件,2010,27(10):258-261.

    [6]梁泉.嵌入式系統(tǒng)交叉調(diào)試器的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2008.

    [7]趙民棟.嵌入式軟件集成開發(fā)環(huán)境中調(diào)試器的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西北工業(yè)大學(xué),2004.

    猜你喜歡
    函數(shù)調(diào)用斷點(diǎn)代碼
    基于C語言的數(shù)學(xué)菜單的設(shè)計(jì)與實(shí)現(xiàn)
    一類無限可能問題的解法
    創(chuàng)世代碼
    創(chuàng)世代碼
    創(chuàng)世代碼
    創(chuàng)世代碼
    基于函數(shù)調(diào)用序列模式和函數(shù)調(diào)用圖的程序缺陷檢測(cè)方法*
    探討C++編程中避免代碼冗余的技巧
    主導(dǎo)電回路發(fā)生斷點(diǎn)故障判斷方法探討
    Unity3D項(xiàng)目腳本優(yōu)化分析與研究
    中國新通信(2017年1期)2017-03-08 03:12:21
    久久久久国产一级毛片高清牌| 性高湖久久久久久久久免费观看| 午夜影院在线不卡| 韩国精品一区二区三区| 免费人妻精品一区二区三区视频| 王馨瑶露胸无遮挡在线观看| 高清视频免费观看一区二区| 亚洲国产欧美在线一区| 一边摸一边做爽爽视频免费| 99国产综合亚洲精品| 狂野欧美激情性xxxx| 丰满饥渴人妻一区二区三| 最近最新中文字幕大全免费视频| 国产免费视频播放在线视频| a级片在线免费高清观看视频| 免费不卡黄色视频| 亚洲精品国产av蜜桃| 久久性视频一级片| 国产成+人综合+亚洲专区| 19禁男女啪啪无遮挡网站| 成人影院久久| 久久精品aⅴ一区二区三区四区| 亚洲免费av在线视频| 国产欧美日韩一区二区三区在线| 一级,二级,三级黄色视频| 国产亚洲精品一区二区www | 国产主播在线观看一区二区| 日本a在线网址| 久久精品国产综合久久久| 19禁男女啪啪无遮挡网站| 老熟女久久久| 乱人伦中国视频| 国产一级毛片在线| 飞空精品影院首页| 久久久久久久大尺度免费视频| 美女视频免费永久观看网站| 999精品在线视频| 国产高清视频在线播放一区 | 日韩精品免费视频一区二区三区| 老熟妇仑乱视频hdxx| 女人被躁到高潮嗷嗷叫费观| 国产一级毛片在线| 男人舔女人的私密视频| 午夜免费成人在线视频| 性色av一级| 欧美精品啪啪一区二区三区 | 国产男人的电影天堂91| 制服诱惑二区| 91av网站免费观看| √禁漫天堂资源中文www| 日韩视频一区二区在线观看| 国产真人三级小视频在线观看| 久久国产亚洲av麻豆专区| 成人免费观看视频高清| 精品久久久久久久毛片微露脸 | 男女床上黄色一级片免费看| 成在线人永久免费视频| 在线观看免费日韩欧美大片| 久久久久视频综合| 免费一级毛片在线播放高清视频 | 淫妇啪啪啪对白视频 | 男女床上黄色一级片免费看| 这个男人来自地球电影免费观看| 日韩大片免费观看网站| 一级毛片精品| 亚洲熟女毛片儿| 国产精品影院久久| 亚洲国产日韩一区二区| 91国产中文字幕| 99热网站在线观看| 国产精品久久久久久精品电影小说| 久久精品熟女亚洲av麻豆精品| 麻豆av在线久日| 久久久久久久久免费视频了| 男人舔女人的私密视频| 亚洲七黄色美女视频| 天堂中文最新版在线下载| 国产精品亚洲av一区麻豆| 午夜激情av网站| 中文字幕人妻丝袜一区二区| 三级毛片av免费| 国产老妇伦熟女老妇高清| 18禁国产床啪视频网站| 人人妻人人澡人人看| 免费在线观看视频国产中文字幕亚洲 | 欧美精品一区二区大全| 一个人免费看片子| 777久久人妻少妇嫩草av网站| 9色porny在线观看| 菩萨蛮人人尽说江南好唐韦庄| 满18在线观看网站| 午夜福利,免费看| 极品少妇高潮喷水抽搐| 97人妻天天添夜夜摸| 亚洲精品一区蜜桃| 日韩欧美一区二区三区在线观看 | 69av精品久久久久久 | 国产欧美日韩一区二区精品| 18禁黄网站禁片午夜丰满| 国产精品免费大片| 亚洲 欧美一区二区三区| 美国免费a级毛片| 麻豆乱淫一区二区| 日本欧美视频一区| 性高湖久久久久久久久免费观看| 国产熟女午夜一区二区三区| 久久久国产一区二区| 黄色怎么调成土黄色| 免费日韩欧美在线观看| 久久久国产成人免费| 老司机影院成人| 精品少妇内射三级| 性色av乱码一区二区三区2| 久久精品国产亚洲av高清一级| 美女高潮到喷水免费观看| 黄色视频,在线免费观看| 黑人巨大精品欧美一区二区mp4| 多毛熟女@视频| 国产一区二区 视频在线| 免费久久久久久久精品成人欧美视频| 午夜激情久久久久久久| 午夜福利在线观看吧| 精品久久久久久久毛片微露脸 | 国产精品亚洲av一区麻豆| 国产1区2区3区精品| 亚洲欧美日韩另类电影网站| 少妇精品久久久久久久| 国产三级黄色录像| 国产精品偷伦视频观看了| 老鸭窝网址在线观看| 亚洲一区二区三区欧美精品| 美女大奶头黄色视频| 纵有疾风起免费观看全集完整版| 亚洲色图 男人天堂 中文字幕| 黑人猛操日本美女一级片| 无限看片的www在线观看| 男女午夜视频在线观看| 亚洲av日韩精品久久久久久密| 大香蕉久久成人网| 最近最新免费中文字幕在线| 中亚洲国语对白在线视频| 中国美女看黄片| 亚洲天堂av无毛| 后天国语完整版免费观看| 成年人黄色毛片网站| 成人黄色视频免费在线看| 久久精品久久久久久噜噜老黄| 久久久国产成人免费| 一区二区av电影网| 超色免费av| 国内毛片毛片毛片毛片毛片| 精品人妻熟女毛片av久久网站| 国产又爽黄色视频| 久久久久久久大尺度免费视频| 成年人午夜在线观看视频| 久久国产精品人妻蜜桃| 中文字幕色久视频| 婷婷丁香在线五月| 精品高清国产在线一区| 亚洲国产成人一精品久久久| 日本黄色日本黄色录像| 久久九九热精品免费| 精品第一国产精品| 另类精品久久| 在线永久观看黄色视频| 免费在线观看完整版高清| 91av网站免费观看| 一区在线观看完整版| 免费久久久久久久精品成人欧美视频| 亚洲精品国产av成人精品| av在线app专区| 亚洲人成77777在线视频| 欧美日韩一级在线毛片| 久久热在线av| 亚洲欧美日韩另类电影网站| 男女无遮挡免费网站观看| 国产精品av久久久久免费| 最新的欧美精品一区二区| 亚洲精品乱久久久久久| 搡老乐熟女国产| 成年人午夜在线观看视频| 韩国精品一区二区三区| 成人免费观看视频高清| 日韩有码中文字幕| 青春草亚洲视频在线观看| 欧美国产精品va在线观看不卡| 日韩欧美国产一区二区入口| 成人免费观看视频高清| 这个男人来自地球电影免费观看| 亚洲一码二码三码区别大吗| 黄片大片在线免费观看| 亚洲综合色网址| 99九九在线精品视频| 欧美精品亚洲一区二区| 美女午夜性视频免费| 久久人妻熟女aⅴ| 色综合欧美亚洲国产小说| 不卡av一区二区三区| 亚洲国产毛片av蜜桃av| 国产免费现黄频在线看| 中文欧美无线码| 丰满人妻熟妇乱又伦精品不卡| 亚洲欧美精品综合一区二区三区| 日韩 欧美 亚洲 中文字幕| 亚洲av日韩在线播放| 一级毛片电影观看| 欧美激情久久久久久爽电影 | 精品国内亚洲2022精品成人 | 久热这里只有精品99| 国产深夜福利视频在线观看| 青春草视频在线免费观看| 久久久久久免费高清国产稀缺| √禁漫天堂资源中文www| 国产成人欧美在线观看 | 亚洲黑人精品在线| 天堂8中文在线网| 飞空精品影院首页| 777久久人妻少妇嫩草av网站| 国产一级毛片在线| 国产一区二区三区在线臀色熟女 | 中文字幕精品免费在线观看视频| 色综合欧美亚洲国产小说| 久久国产精品人妻蜜桃| a级毛片黄视频| 一区二区三区四区激情视频| 高清黄色对白视频在线免费看| 国产熟女午夜一区二区三区| 老司机午夜十八禁免费视频| 亚洲精品久久午夜乱码| 97人妻天天添夜夜摸| 丝瓜视频免费看黄片| 亚洲久久久国产精品| 国产福利在线免费观看视频| 久久久久久人人人人人| 在线观看舔阴道视频| 狂野欧美激情性bbbbbb| 久久精品国产a三级三级三级| 亚洲av美国av| 午夜福利免费观看在线| 啦啦啦在线免费观看视频4| 老司机在亚洲福利影院| 免费黄频网站在线观看国产| 女性生殖器流出的白浆| 欧美日韩福利视频一区二区| 国产99久久九九免费精品| 精品国产一区二区三区久久久樱花| 精品福利永久在线观看| 成人免费观看视频高清| 国产av精品麻豆| 美女主播在线视频| 多毛熟女@视频| 久久国产精品人妻蜜桃| 欧美中文综合在线视频| 日韩精品免费视频一区二区三区| 免费少妇av软件| 亚洲av电影在线进入| 麻豆av在线久日| 国产97色在线日韩免费| 色播在线永久视频| 国产深夜福利视频在线观看| 69av精品久久久久久 | 亚洲 国产 在线| 91成人精品电影| 亚洲国产精品一区二区三区在线| www.精华液| 亚洲第一欧美日韩一区二区三区 | 97人妻天天添夜夜摸| 另类亚洲欧美激情| 一区二区三区精品91| 亚洲色图综合在线观看| 好男人电影高清在线观看| 亚洲av日韩精品久久久久久密| 女人精品久久久久毛片| 女性被躁到高潮视频| 久久天堂一区二区三区四区| 一区在线观看完整版| 9191精品国产免费久久| 国产日韩欧美在线精品| 亚洲国产欧美一区二区综合| 久久影院123| 三上悠亚av全集在线观看| 丝袜美腿诱惑在线| www.精华液| 妹子高潮喷水视频| 91成年电影在线观看| 午夜老司机福利片| 老熟妇仑乱视频hdxx| 汤姆久久久久久久影院中文字幕| 男人爽女人下面视频在线观看| 亚洲av日韩精品久久久久久密| 丰满迷人的少妇在线观看| 日韩电影二区| 大片电影免费在线观看免费| 免费黄频网站在线观看国产| 操美女的视频在线观看| 999精品在线视频| 久久久久国内视频| 久久久久国产精品人妻一区二区| 天天操日日干夜夜撸| 王馨瑶露胸无遮挡在线观看| 90打野战视频偷拍视频| 亚洲精品av麻豆狂野| 免费在线观看完整版高清| 国产成人啪精品午夜网站| 99国产极品粉嫩在线观看| 亚洲熟女精品中文字幕| 超碰成人久久| 国产精品二区激情视频| 久久久久视频综合| 不卡一级毛片| 91av网站免费观看| 午夜成年电影在线免费观看| 亚洲精品一卡2卡三卡4卡5卡 | 人妻一区二区av| 啦啦啦 在线观看视频| 91精品伊人久久大香线蕉| 精品久久久精品久久久| 亚洲精品国产区一区二| 亚洲成人国产一区在线观看| 久久久久久久久久久久大奶| 久久久久久久大尺度免费视频| 90打野战视频偷拍视频| 在线永久观看黄色视频| 日本黄色日本黄色录像| 丁香六月天网| 欧美少妇被猛烈插入视频| 欧美人与性动交α欧美精品济南到| 9热在线视频观看99| 亚洲国产精品成人久久小说| 啦啦啦中文免费视频观看日本| 日韩制服骚丝袜av| 2018国产大陆天天弄谢| 久久精品亚洲熟妇少妇任你| av电影中文网址| 黑人猛操日本美女一级片| 色婷婷久久久亚洲欧美| 成年av动漫网址| 肉色欧美久久久久久久蜜桃| 首页视频小说图片口味搜索| 女性被躁到高潮视频| 99国产精品免费福利视频| 国产成人一区二区三区免费视频网站| 女性被躁到高潮视频| 亚洲成av片中文字幕在线观看| 热99re8久久精品国产| 国产精品久久久久成人av| 成年女人毛片免费观看观看9 | 精品亚洲成国产av| 久久久久国内视频| 色播在线永久视频| 热99久久久久精品小说推荐| 视频区图区小说| 美女国产高潮福利片在线看| 在线永久观看黄色视频| 欧美日韩亚洲综合一区二区三区_| 午夜福利免费观看在线| √禁漫天堂资源中文www| 婷婷成人精品国产| 大陆偷拍与自拍| 777米奇影视久久| 999精品在线视频| 国产av精品麻豆| www.熟女人妻精品国产| 欧美 日韩 精品 国产| 国产免费现黄频在线看| 国产亚洲午夜精品一区二区久久| 欧美 日韩 精品 国产| 久久久精品区二区三区| 久热爱精品视频在线9| 国内毛片毛片毛片毛片毛片| 久久午夜综合久久蜜桃| 妹子高潮喷水视频| 国内毛片毛片毛片毛片毛片| 啦啦啦中文免费视频观看日本| 国产一区有黄有色的免费视频| av超薄肉色丝袜交足视频| 欧美少妇被猛烈插入视频| 午夜视频精品福利| 欧美精品一区二区大全| 丰满迷人的少妇在线观看| 国产亚洲av片在线观看秒播厂| 69av精品久久久久久 | 免费在线观看完整版高清| 国产国语露脸激情在线看| 大片免费播放器 马上看| 天堂俺去俺来也www色官网| 欧美日韩国产mv在线观看视频| 不卡一级毛片| 久久中文字幕一级| 国产高清videossex| 欧美日韩亚洲高清精品| 欧美xxⅹ黑人| 久久久久久亚洲精品国产蜜桃av| 9色porny在线观看| 欧美性长视频在线观看| 欧美日韩亚洲高清精品| 另类亚洲欧美激情| 又大又爽又粗| 法律面前人人平等表现在哪些方面 | 性少妇av在线| 99久久99久久久精品蜜桃| 成人国产一区最新在线观看| 亚洲中文av在线| 欧美日韩一级在线毛片| 脱女人内裤的视频| 午夜精品国产一区二区电影| 高清视频免费观看一区二区| 日本av免费视频播放| 日日夜夜操网爽| 亚洲伊人色综图| 亚洲人成77777在线视频| 搡老乐熟女国产| 午夜影院在线不卡| 性少妇av在线| 好男人电影高清在线观看| 午夜精品久久久久久毛片777| 天天躁夜夜躁狠狠躁躁| 18禁裸乳无遮挡动漫免费视频| 日本欧美视频一区| 亚洲欧洲精品一区二区精品久久久| 欧美黄色片欧美黄色片| 精品高清国产在线一区| 51午夜福利影视在线观看| a 毛片基地| 汤姆久久久久久久影院中文字幕| 欧美日韩亚洲高清精品| 成人国产av品久久久| 国产精品国产av在线观看| 精品第一国产精品| 欧美日韩中文字幕国产精品一区二区三区 | 中文字幕最新亚洲高清| 日韩三级视频一区二区三区| 国产亚洲精品一区二区www | 中文字幕另类日韩欧美亚洲嫩草| 一边摸一边抽搐一进一出视频| 1024视频免费在线观看| 婷婷色av中文字幕| 国产亚洲av片在线观看秒播厂| 亚洲专区国产一区二区| 亚洲人成77777在线视频| 久久久精品94久久精品| av在线老鸭窝| 国产熟女午夜一区二区三区| 国产视频一区二区在线看| 免费在线观看完整版高清| 人人妻人人澡人人爽人人夜夜| 精品欧美一区二区三区在线| 日韩中文字幕欧美一区二区| 国产av精品麻豆| 多毛熟女@视频| 国产成人系列免费观看| 精品熟女少妇八av免费久了| 侵犯人妻中文字幕一二三四区| 最近中文字幕2019免费版| av在线播放精品| 亚洲av美国av| 欧美另类一区| 日韩 欧美 亚洲 中文字幕| 各种免费的搞黄视频| 99久久人妻综合| 国产欧美日韩综合在线一区二区| 热re99久久精品国产66热6| 欧美精品一区二区大全| 欧美人与性动交α欧美软件| 精品久久久久久久毛片微露脸 | 欧美精品啪啪一区二区三区 | 欧美一级毛片孕妇| 日本91视频免费播放| 操美女的视频在线观看| 欧美97在线视频| www.熟女人妻精品国产| 五月开心婷婷网| av不卡在线播放| 又大又爽又粗| 丝瓜视频免费看黄片| 91麻豆av在线| 欧美激情 高清一区二区三区| av在线播放精品| 免费观看人在逋| 少妇 在线观看| 欧美日韩福利视频一区二区| 国产在线观看jvid| 国产精品一区二区免费欧美 | 欧美精品亚洲一区二区| 亚洲一卡2卡3卡4卡5卡精品中文| 欧美av亚洲av综合av国产av| 中国国产av一级| 久久久国产精品麻豆| www日本在线高清视频| 欧美日韩成人在线一区二区| 久久精品国产a三级三级三级| 久久久国产一区二区| 99精品欧美一区二区三区四区| 国产免费一区二区三区四区乱码| 精品福利永久在线观看| 悠悠久久av| 最新在线观看一区二区三区| 两个人免费观看高清视频| 黄色a级毛片大全视频| 午夜福利在线免费观看网站| 亚洲精品一卡2卡三卡4卡5卡 | 日韩一区二区三区影片| 极品人妻少妇av视频| 美女中出高潮动态图| 午夜免费鲁丝| 欧美激情高清一区二区三区| 日韩中文字幕欧美一区二区| 精品一区二区三区四区五区乱码| 久久久精品免费免费高清| 人人妻人人添人人爽欧美一区卜| 精品国产乱码久久久久久男人| 狂野欧美激情性bbbbbb| 人人妻人人澡人人看| 精品视频人人做人人爽| 国精品久久久久久国模美| 亚洲欧美精品自产自拍| 久久久精品区二区三区| 日本vs欧美在线观看视频| 欧美变态另类bdsm刘玥| 久久 成人 亚洲| 亚洲av日韩在线播放| 国产精品久久久久久精品古装| 后天国语完整版免费观看| 精品亚洲成a人片在线观看| 亚洲欧洲精品一区二区精品久久久| 久久中文看片网| 精品久久久精品久久久| 嫁个100分男人电影在线观看| 精品人妻1区二区| 正在播放国产对白刺激| 99精国产麻豆久久婷婷| 一级黄色大片毛片| 老熟女久久久| 国产激情久久老熟女| www.av在线官网国产| 亚洲va日本ⅴa欧美va伊人久久 | a 毛片基地| 日本一区二区免费在线视频| 欧美黑人精品巨大| 男男h啪啪无遮挡| 国产精品 国内视频| 成人国产一区最新在线观看| 777米奇影视久久| 99精品欧美一区二区三区四区| 无限看片的www在线观看| 亚洲精华国产精华精| 三上悠亚av全集在线观看| 日本猛色少妇xxxxx猛交久久| 美女高潮到喷水免费观看| 午夜激情av网站| 久久这里只有精品19| 久久毛片免费看一区二区三区| 精品卡一卡二卡四卡免费| 这个男人来自地球电影免费观看| 国产日韩欧美亚洲二区| 黄片播放在线免费| 国产免费福利视频在线观看| 女人被躁到高潮嗷嗷叫费观| www.精华液| 视频区欧美日本亚洲| 亚洲精品第二区| 国产成人免费观看mmmm| 亚洲成av片中文字幕在线观看| 免费日韩欧美在线观看| 久久香蕉激情| 久久精品国产亚洲av香蕉五月 | 日本av手机在线免费观看| 亚洲一码二码三码区别大吗| 亚洲专区中文字幕在线| 伦理电影免费视频| 精品国产乱码久久久久久男人| 国产无遮挡羞羞视频在线观看| 老司机午夜福利在线观看视频 | 在线看a的网站| 18禁观看日本| 中文字幕最新亚洲高清| 肉色欧美久久久久久久蜜桃| 悠悠久久av| 国产亚洲午夜精品一区二区久久| 免费高清在线观看日韩| 热re99久久精品国产66热6| 老司机福利观看| 视频区欧美日本亚洲| 国产日韩欧美视频二区| 亚洲第一欧美日韩一区二区三区 | 国产伦人伦偷精品视频| 每晚都被弄得嗷嗷叫到高潮| 多毛熟女@视频| 国产精品av久久久久免费| 韩国高清视频一区二区三区| 中文精品一卡2卡3卡4更新| 女性生殖器流出的白浆| 麻豆乱淫一区二区| 成人国语在线视频| 黄色视频不卡| 日韩 亚洲 欧美在线| 日韩制服骚丝袜av| 亚洲成人国产一区在线观看| 不卡av一区二区三区| 如日韩欧美国产精品一区二区三区| 啦啦啦免费观看视频1| 午夜福利视频精品| 免费人妻精品一区二区三区视频| 久久国产精品男人的天堂亚洲| 午夜福利视频精品| 老鸭窝网址在线观看| 国产在线一区二区三区精| 人人澡人人妻人| 男女下面插进去视频免费观看| 亚洲伊人色综图| 精品国产乱子伦一区二区三区 | 每晚都被弄得嗷嗷叫到高潮| 男女国产视频网站| 久久人妻福利社区极品人妻图片| 午夜视频精品福利|