久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

unix下sdb命令詳解

瀏覽:161日期:2024-06-28 11:03:02

Unix系統(tǒng)開發(fā)-sdb的啟動 首先來看看在哪些情況下需要對程序進行調(diào)試。 第一種情況(這是大多數(shù)用戶都會碰到的),程序在運行過程中忽然跳了出來,屏幕上顯示一個xxxx-core dumped消息,然后Shell提示符就又顯示出來了,其中xxxx表示出錯原因。這種情況的出現(xiàn)一般是系統(tǒng)核心認為進程的執(zhí)行出現(xiàn)了異常,如進程試圖去訪問一塊不允許它訪問的存儲區(qū)域(Memory Fault,Segmentation Fault);或者掃描某個無終止符的字符串(Bus Error);或者浮點運算溢出或被0除(Arithmetic Exception),等等。此時操作系統(tǒng)會把進程當時的內(nèi)存映象寫到當前目錄下的一個名叫core的文件中。這種情況下我們可以使用sdb來檢查此core文件,以決定出錯的地點以及程序執(zhí)行的狀態(tài),如函數(shù)間的調(diào)用關(guān)系、變量的值,等等。 第二種情況,程序可能并沒有什么異常行為,但就是怎么也得不到正確的輸出結(jié)果。這時需要在該進程運行過程中對之進行調(diào)試。這種情況下我們可以使用sdb逐條語句地跟蹤程序的執(zhí)行過程,并在執(zhí)行過程中檢查有關(guān)變量的值的變化情況。 上述兩種情況并不是絕然分開的。實際上它們可以結(jié)合在一起使用。例如,當我們利用core文件對某個已終止的進程進行調(diào)試時,可以在sdb中重新啟動相應程序的運行,然后對語句的執(zhí)行進行一些控制。這樣我們就能夠知道在出現(xiàn)異常之前哪個程序到底是如何動作的。 為了使sdb能夠很好地對程序進行調(diào)試,在編譯程序時應指示編譯程序和鏈接程序在目標代碼中加入調(diào)試用的各種信息,如程序中的變量名、函數(shù)名及其在源程序中的行號等。我們知道,使用-g選項可以完成這一點。如我們可以用如下命令編譯前一章給出的有毛病的程序代碼: $ cc -o myprog myprog.c myfunc.c myprog.c: myfunc.c: $ ls -l myprog -rwx-xr-x 1 yxz users 4224 Sep 1 10:17 myprog $ cc -g -o myprog myprog.c myfunc.c myprog.c myfunc.c $ ls -l myprog total 26 -rwxr-xr-x 1 yxz users 5404 Sep 1 10:21 myprog $ 這時我們會發(fā)現(xiàn),新生成的myprog比不帶-g 選項生成的myprog要大的多。故在程序調(diào)試完成之后應將可執(zhí)行程序中的調(diào)試用信息去掉。最簡單的方法當然是使用不帶-g 選項的cc命令重新編譯一遍。另外UNIX系統(tǒng)提供了另外一個名為strip的工具,使用此命令也可以將程序中的調(diào)試信息去掉。 現(xiàn)在我們可以試著運行一下那個有問題的程序myprog。在shell提示符下輸入: $ myprog 1 111 Arithmetic Exception -core dumped $ 我們看到,程序由于異常而推出了,并且在當前目錄下將生成一個名為core 的文件。這個文件有時非常龐大。在文件系統(tǒng)的維護中,有一條就是要定期找出各目錄下的core 文件并將其刪除掉。 發(fā)生此種情況時可以使用sdb來對之進行調(diào)試。輸入: $ sdb myprog 即可進入sdb調(diào)試程序。 sdb將接受三個參數(shù): 待調(diào)試的可執(zhí)行文件名; 待調(diào)試的core文件名,一般缺省是core; 由冒號分隔的一個目錄表,sdb將在這些目錄表中去查找有關(guān)的源文件。此目錄表的缺省設(shè)置是當前目錄 有時當前目錄下的core文件可能并不是待調(diào)試的程序的core 文件,此時用這個core 文件進行調(diào)試就是不合適的了。為防止這一點,可在命令行中指定第二個參數(shù)為減號(-),如下所示: $ sdb myprog - 這里的'-'告訴sdb忽略當前目錄下的core文件。 第三種情況,我們試用對活動過程(正在運行的進程)進行調(diào)試的情況。例如,假定某個程序正在后臺運行,但我們注意到該程序的某些部分執(zhí)行起來非常慢,這時我們可以在不殺死這個進程的情況下對之進行調(diào)試: $ sdb /proc/1111 這里1111為待調(diào)試進程的進程號,用戶可以用PS命令得到。系統(tǒng)在/proc目錄下用文件的形式保存了每一個活動進程的信息,而文件名正好就是相應的進程號。 指定的進程將在執(zhí)行時遇到第一個系統(tǒng)調(diào)用或調(diào)用sdb后收到某個軟中斷信號時暫停其運行,我們就可以在sdb中檢查變量的值、設(shè)置斷點、恢復執(zhí)行,等等。在退出sdb時,控制又返回程序,執(zhí)行進程又從其原停止的地方繼續(xù)執(zhí)行。 第四種情況,一般情況下當被調(diào)試的活動進程在收到某個軟中斷信號時sdb會停止該進程。為了防止這一點,可以使用-s 選項。例如: $ sdb -s 14 myprog 將告訴sdb不要因為軟中斷信號14(鬧鐘報警信號)而使進程的執(zhí)行停止。此時該信號被傳給相應進程。在程序接收并處理多個軟中斷信號的情況下,可以使用多個-s選項。 在sdb命令行中還有其他一些選項,對此我們不再一一列舉,讀者可以參考命令幫助。 在使用上述方法之一進入sdb之后,便可以進行在前一節(jié)中提到的各種操作,如顯示或設(shè)置變量值、函數(shù)調(diào)用關(guān)系、控制語句的執(zhí)行等。下一節(jié)我們將詳細討論完成這些操作的方法。

UNIX系統(tǒng)開發(fā)-sdb命令使用:程序執(zhí)行控制 我們說程序調(diào)試的主要目的是觀察變量的變化情況。但如果程序就一直不停地運行直至它終止或出錯時才停下來的話,將沒有機會去觀察任何變量。因此,如何有效地控制程序中各語句的執(zhí)行,使之在適當?shù)臅r候暫停下來,待調(diào)試人員在顯示或設(shè)置了某些存儲單元的值之后再從停下的地方繼續(xù)執(zhí)行下去,是調(diào)試程序應具有的一項基本功能。在這一節(jié)中我們就來具體介紹如何控制程序的運行。 對程序執(zhí)行控制的第一個問題是設(shè)置斷點。一個斷點實際上就是程序中某行語句。當程序執(zhí)行到這條語句時控制會重復返回到sdb,由此提供給用戶進行其他操作,如顯示變量值的機會。 1.斷點的設(shè)置和刪除 在sdb中設(shè)置斷點的方法比較多。但基本是b命令的變種。例如,我們可以使用如下語句在main()函數(shù)的第一個可執(zhí)行行(非變量定義這類語句)設(shè)置一個斷點: * main:b 也可以直接用行號來設(shè)置斷點。例如,在myprog.c中,第10行是main()函數(shù)中的第一個可執(zhí)行語句,則使用如下命令也能達到同樣的效果: * 10b 注意這是在myprog.c為當前文件的情況下進行的。 如果直接輸入: * b 命令,則可將當前行設(shè)成是一個斷點。但是若當前行不是一個可執(zhí)行語句,那么sdb將把當前行之后的第一個可執(zhí)行語句處設(shè)置一個斷點。 在設(shè)置完斷點之后,為了解程序中設(shè)置有哪些斷點,可以使用B命令: * B 0x80483f0 myprog.c:10 main+0x8 0x80483f7 myprog.c:11 main+0xf 0x8048407 myprog.c:12 main+0xlf 0x8048440 myprog.c:9 TestInput 0x8048447 myprog.c:10 TestInput+ 0x7 0x804482 myprog.c:13 TestInput+ 0x42 在設(shè)置完斷點之后要將其刪除,可以使用d命令。如: * main:d sdb將把在main()函數(shù)中設(shè)置的第一個可執(zhí)行行上的斷點刪除。如果直接使用d命令,sdb將逐個列出所有斷點并詢問用戶是否刪除之。回答y斷點將被刪除。使用D命令則可刪除程序中設(shè)置的所有斷點。 2.sdb中啟動程序的運行 在設(shè)置好所需的斷點之后我們就可以重新啟動程序的運行了。這可以使用r命令。如: * r 111 2 BREAKPOINT process 554 function main() in myprog.c 10: for(i=1;i<argc:i++) * sdb將在main()函數(shù)中設(shè)置第一個斷點處停下來并顯示該行的語句。r后面給出的是傳給可執(zhí)行程序myprog的兩個參數(shù)。因此上述命令同在shell提示符下輸入: $ myrprog 111 2 是相同的。不同的只是在sdb中程序的執(zhí)行會在斷點處停下來。 如果只輸入 * r 命令,sdb使用最近一次執(zhí)行調(diào)試程序時給它提供的參數(shù)來啟動之。如果想不帶任何參數(shù)來重新啟動程序的運行,可使用 * R 命令。 3.控制程序的單步或者連續(xù)執(zhí)行 在用r(R)命令啟動程序的運行之后,sdb將在第一個斷點處暫停程序的運行。此時斷點行成為當前行,但并未被執(zhí)行。此時我們可以在sdb的星號(*)提示符下輸入前面已介紹過的或后面將要介紹的各種命令。當然最重要的是顯示那些關(guān)鍵變量的值,以了解程序的運行情況。在這之后便可以繼續(xù)程序的執(zhí)行。 繼續(xù)執(zhí)行有兩種方式。的一種是單步方式,即逐條語句執(zhí)行。這可以使用S命令完成: * s STEPPED process 584 function main() in myprog.c 14: printf('The %dth value '%s' tis BAD!n',i,argv[i]); * sdb在執(zhí)行完當前語句之后,將當前行后移一行并顯示出其代碼。對于用戶自定義的函數(shù)調(diào)用,S命令并不將其當成是一條語句,此時它將指示sdb進入該函數(shù)(使之成為當前函數(shù))。如我們可以接著上面輸入下列命令: * s STEPPED process 584 function main() in myprog.c 11: if(TestInput(argv[i])== TESTOK) * s BREAKPOINT process 594 function main() in myprog.c 11: if(TestInput(argv[i])==TESTOK) * s BREAKPOINT process 584 function TestInput() in myfunc.c 9: {while (* ValueInput)} * s 也能讓sdb將用戶自定義的函數(shù)調(diào)用,當成是一條普通語句而不進入此函數(shù)的定義。此時可以在那些包含有用戶自定義函數(shù)調(diào)用的行,使用S命令以執(zhí)行之。 s 和S命令都可以接收一個指明待執(zhí)行的語句數(shù)目的參數(shù)。例如: * s 2 使sdb執(zhí)行當前行及其下那行語句,然后當前行之下的第2行將成為新的當前行。注意當使用s 或S時,如果sdb遇上一個未加-g選項編譯的用戶自定義函數(shù),那么執(zhí)行將繼續(xù)直到一個帶-g 選項編譯的函數(shù)為止。 控制程序執(zhí)行的第二種是使用c或C命令。一個最簡單的c命令將使sdb從當前行把程序執(zhí)行到下一個斷點處。在c命令中還可以臨時設(shè)置“斷點”。例如: * 8c 將使sdb在第8行上設(shè)置一個斷點并使程序從當前行執(zhí)行至該斷點處后停下來,然后將此斷點自動刪除并等待用戶輸入其他命令。 在c命令中還可以指定在繼續(xù)執(zhí)行時后面第幾個斷點處停下來。例如: * c 2 將使sdb從當前行開始執(zhí)行,直到當前行之后的第2個斷點為止。一般的: * c 命令實際上相當于: * c 1 C命令的作用及用法同c基本上是相同的。只不過此時sdb將進程收到的終止信號傳給該進程進行處理。這對于調(diào)試有軟中斷處理的進程是很有用的。但sdb并不是將進程所收到的所有信號都傳送給進程進行處理。要傳遞的信號可在sdb的命令行中用-s選項指定。 我們可以用g命令來告訴sdb在給定的行開始繼續(xù)程序的執(zhí)行: * 6g 此命令使sdb在當前文件的第6行處恢復執(zhí)行。而: * 6g2 使sdb在當前文件的第6行恢復執(zhí)行并跳過兩個斷點。但在使用g命令時必須小心。如果此命令跳過了那些必須得初始化語句,或者進程的執(zhí)行被恢復到某個并不終止進程的函數(shù)中,此時都將會是程序的執(zhí)行出現(xiàn)人為的差錯。一般而言,除非能夠確信所跳過的代碼段是不正確的代碼,不要輕易使用g命令。 4 關(guān)聯(lián)命令 我們可以告訴sdb在使用到某種情況下暫停下來,完成某些操作之后繼續(xù)執(zhí)行。例如: * 7b t; i/;c 將使得sdb在當前文件的第7行設(shè)置一個斷點,然后每當遇到該斷點時都顯示函數(shù)調(diào)用棧(t)、變量i的值(i/),并繼續(xù)程序的執(zhí)行(c)。 上述命令的一種變化形式是a(Announce命令)。例如: * FunctionName:a 將使得sdb在程序執(zhí)行過程中每當函數(shù)FunctionName被調(diào)用時即顯示其函數(shù)名和參數(shù)值。而命令: * FunctionName:6a 將使得sdb在函數(shù)FunctionName中的第6行每次被執(zhí)行時都將其顯示出來。 5.函數(shù)調(diào)用 sdb能夠調(diào)用程序中用戶自定義的任何函數(shù)。這種功能對于下面兩種情況可能比較有用: 在需要用各種不同的參數(shù)對函數(shù)進行測試。 用用戶自己定義的一個函數(shù)來顯示程序中的某些數(shù)據(jù)。 不論是何種情況,我們均可以用如下命令來進行函數(shù)調(diào)用: * FunctionName(Arg1,Arg2,....) 或 * FunctionName(Arg1,Arg2,....)/m 在第一種用法下,sdb只是簡單地執(zhí)行指定的函數(shù)。在第二種用法下,sdb將在執(zhí)行指定的函數(shù)之后顯示返回值。此值一般將按十進制方式顯示,除非指定了另外的顯示格式。 提供給函數(shù)的參數(shù)可以是寄存器名、整數(shù)、浮點數(shù)、字符、字符串常量或是其他局部當前函數(shù),或者是當前函數(shù)可以訪問的變量。 6.變量的監(jiān)視 sdb提供了一種被成為“觀察點”(Watch)的機制。借此機制,我們可以監(jiān)視變量值得變化或某些地址的內(nèi)容的變化。例如: * i $m 可用于設(shè)置對某個變量的觀察點。此處變量i為被監(jiān)視的變量。而用: * 0x00400000:m 則可將地址0x00400000 處設(shè)置成觀察點,而0x00400000將成為被監(jiān)視的地址。 在設(shè)置了觀察點之后,sdb會同處理S命令一樣開始程序的單步執(zhí)行,并在變量的值或指定地址單元的內(nèi)容被改變時停止程序的執(zhí)行。由于變量值的改變或地址內(nèi)容的變化,或者其他什么原因而使程序的執(zhí)行中止,包括因為遇到斷點而使程序停止的情形,都將使得所設(shè)置的觀察點被sdb自動刪掉。 被觀察的變量必須是當前函數(shù)的局部變量或者是當前函數(shù)所能夠訪問的變量 其他命令 除了上面介紹的五類主要命令之外,sdb還支持其他一些命令。使用這些命令,可以完成其他一些輔助性的工作。分別介紹如下。 . !Shell Command 此命令可以使sdb去執(zhí)行指定的Shell Command。這里Shell Command是一個合法命令。例如可以輸入: * ! ls -l sdb將執(zhí)行指定的ls -l 命令,并將其輸出顯示出來。 使用: * ! sh 能夠生成一個新的Shell進程。在此新的Shell中可以完成某些工作,然后用exit命令返回到sdb中。 <FileName 指示sdb從文件FileName中讀取sdb調(diào)試命令,并且逐個執(zhí)行之。 'SomeString 指示sdb顯示出某個字符串。常用此命令給出某些提示信息, k 此命令將使當前對程序的調(diào)試終止,之后仍可用r命令重新啟動被調(diào)試的程序。如: * k 1111:killed * 這里1111是被調(diào)試進程的進程號。 * q 此命令將使sdb停止其自身的運行而返回至原Shell提示符下。在調(diào)試完程序之后一般都要使用此命令。

UNIX系統(tǒng)開發(fā)-sdb命令使用:源程序的顯示和搜索 sdb命令的使用 同我們前面介紹過的mail,ftp一類工具類似,sdb也是一個命令解釋程序。也就是說,用戶在sdb提示符(一個星號*)下輸入sdb能夠識別的命令,sdb將根據(jù)被調(diào)試的程序的具體情況給出響應。 例如,在運行myprog出錯,生成core文件之后進入sdb時,sdb將給出如下的響應: $ sdb myprog 12: return ((100/atoi(ValueInput))? TESTOK:! TESTOK); * sdb給出來的實際上是程序出錯所在的函數(shù),在源程序文件中的行號以及出錯那一行的語句。 在sdb的使用中要注意三個“當前”概念: (1)當前文件 即當前將要被執(zhí)行的語句所在的那個源程序文件 (2)當前函數(shù) 即當前將要被執(zhí)行的語句所在的那個函數(shù) (3)當前行 這個概念只有在編譯時加入-g選項才會有,它指的是將要被執(zhí)行的那條語句。與當前行相應,有一個行號的概念。它指的是每條語句在程序中位于第幾行。注意行號是從文件頭開始計算的,第一行的行號為1,空白行和注釋也包括在內(nèi)。 在用core文件進行調(diào)試時,當前行和當前函數(shù)分別被設(shè)成是程序出錯時所執(zhí)行的那條語句所在地行和函數(shù)(如同上面顯示出來的那樣)。但如果在編譯時未加-g選項,顯示出來的將只有函數(shù)名和函數(shù)的地址了。 在對活動進程進行排錯時,sdb將把當前函數(shù)和當前行分別設(shè)成是main()函數(shù)和main()函數(shù)的第一個可執(zhí)行的語句行。 不論是哪種情況,sdb都將顯示出*提示符。在此提示符之下我們可以輸入各種sdb命令,以控制程序的執(zhí)行或觀察變量的變化情況,等等。在下面的幾個小節(jié)中我們將分別詳細討論這些問題。 源程序的顯示和搜索 程序出錯一般來說不只是出錯的那條語句本身造成的。事實上出現(xiàn)錯誤經(jīng)常是前面或相關(guān)的代碼執(zhí)行了不正確的操作或少了某些必要的處理。因此調(diào)試過程中經(jīng)常要觀察一下源程序中的語句,或者在程序中搜索某個符號出現(xiàn)在什么地方。其中字符串的搜索功能同vi基本上是相同的,而文件的顯示則同另外一個我們沒有具體討論的編輯器ed類似。下面我們將具體介紹這些命令。 1.源程序的顯示 在用core進入sdb之后,在*提示符后輸入w命令,該命令指示sdb顯示源程序中的當前行為中心的前后10行的內(nèi)容并保持當前行不變: * w 7:int 8: TestInput(char * ValueInput) 9: {while ( * ValueInput) 10: if (! isdigit( * ValueInput)) return (! TESTOK); 11: else ValueInput++; 12: return ((100/atoi(ValueInput))? TESTOK:! TESTOK); 13: } * 我們看到,在進入sdb時,當前行是第12行,以該行為中心的10行內(nèi)容正好就是上面所顯示出來的。其他可以顯示源程序語句的sdb命令如下: P 顯示當前行 l 顯示對應于當前指令的那條語句 Z 顯示當前行開始的下面10條語句 Ctrl+D 顯示當前行之后(不包括當前行)的第10條語句 n 顯示第n條語句,這里n是一個數(shù) 注意這些命令顯示出的是源程序語句還是匯編語句(后面我們將要介紹)取決于最近一次顯示出的是什么。 2.改變當前行 在用戶顯示語句時,當前行也會相應地發(fā)生變化。例如,Z命令將使當前行向程序尾移動9行,而Ctrl+D則使當前行向后移動10行。 在使用數(shù)字來顯示某行語句時將使該行語句成為當前行。而在*提示符之后按一下回車,當前行將下移一行。例如,接著上面的例子,輸入: * 8p 8: TEstInput(char * ValueInput) * 回車 9: { while ( * ValueInput)} * 這里8p實際上是兩條命令的組合。它使當前行移至源文件的第八行,然后再顯示出新的當前行。按回車鍵將使當前行后移一行。 3.改變當前源文件 在vi中我們可以用e命令對另外某個文件進行編輯。sdb也提供了e命令,可以用此命令來改變當前文件,如: * e myprog.c current file is now myprog.c * 8p 8: main(int argc,char * argv[]) * 我們看到,當前文件改變之后,sdb將第一行設(shè)為是當前行。如果此文件的第一行是個函數(shù),那么該函數(shù)便成為當前函數(shù)。否則將臨時出現(xiàn)沒有當前函數(shù)的情況。 在上一節(jié)中,我們介紹過在命令行中可以指定源文件搜索目錄名列表(缺省情況為當前目錄)。如果某個文件不在此搜索目錄中,則可以用e命令將其加入: * e Another SourceDir 這里Another SourceDir是一個目錄名。如果要顯示該目錄下的某個文件,只需要輸入: * e FileName.c 當然直接使用: * e Another SourceDir/FileName.c 也能達到同樣的效果。 使用: * e FunctionName 將使包含函數(shù)FunctionName的文件名成為當前文件,而當前函數(shù)不言而喻將成為FunctionName。當前行則理所當然的是該函數(shù)的第一行。同一程序中函數(shù)名在各模塊中的唯一性保證了這一點是能夠成功的,但如果包含指定函數(shù)的文件不在當前搜索目錄列表中,則必須用e命令將其加入。 4.字符串的搜索 在vi中,我們可以在命令方式下使用“/“或者“?”命令,從當前位置向后或者向前搜索某個字符串,在sdb中也同樣可以完成這一點。使用這兩個命令我們可以查找源程序中某個或某類符號的出現(xiàn)。之所以說某類,是因為我們可以用正規(guī)表達式來指定待搜索的串(也即在搜索串中可以使用*,?,[,],-,^這類特殊字符)。 例如,為了查找myprog.c中argv出現(xiàn)在那些行上,可輸入: * /argv/ 8: main(ini argc,char * argv[]) sdb將從當前行開始向文件尾搜索,到達文件尾之后又從文件頭開始直至搜索到某個匹配的串或到達當前行為止。 與/相反,?命令將從當前行向文件頭方向搜索,因此如果我們將上述/argv/換成: * ? argv? 14: printf('The %dth value' %s'tis BAD! n',i,argv[i]); * 所得的結(jié)果一般是不同的。 /或?命令之后的/或?并不是必須的。另外如果要在同一方向上繼續(xù)搜索上次搜索過的串,只需要直接輸入/或者?即可。 下一節(jié):函數(shù)調(diào)用層次顯示........

標簽: Unix系統(tǒng)
主站蜘蛛池模板: 欧美日本国产 | 91精品国产综合久久久久久蜜月 | 成人av小说| 中文字幕一区二区在线观看 | www.99re | 色婷婷久久 | 久久a国产| 欧美男人天堂 | 操皮视频 | 一级毛片电影院 | 成人精品一区二区三区 | 完全免费av | 亚洲精品一区二区三区精华液 | 日韩精品在线视频 | 亚洲精品毛片一区二区 | 亚洲二区视频 | 欧美综合一区二区 | 91精品视频在线播放 | 亚洲国产精品久久久久婷婷老年 | 久久国产精品视频 | www国产亚洲精品久久网站 | av免费在线观看网站 | 久久国产精品免费一区二区三区 | 欧美一区二区在线播放 | 久久精品2 | 国产精品一任线免费观看 | 久久99精品久久久 | 欧美全黄 | 欧美啪 | 国产午夜精品美女视频明星a级 | 久久久久久久久久久久久九 | 国产国拍亚洲精品av | 在线看av网址 | 91视频国产区 | 成人激情免费视频 | 亚洲人成在线播放 | 国产人妖一区二区 | 91丁香婷婷综合久久欧美 | 日韩精品免费 | 欧美久久成人 | 中文av网站 | 成人小视频在线观看 | 先锋av资源在线 | 亚洲视频 欧美视频 | 性大毛片视频 | 中文av字幕 | 女同久久另类99精品国产 | www.色综合| 亚洲网站在线观看 | 亚洲一区视频在线 | 日韩免费视频 | 久久国产精品无码网站 | 国产伦精品一区二区三区四区视频 | 欧美成人一级 | 黄色一级免费观看 | 日本成人在线看 | 一区二区精品 | 91精品国产欧美一区二区成人 | 中文字幕自拍偷拍 | 婷婷久久综合 | av免费观看网站 | 成人免费一区二区三区视频网站 | 三级黄色在线视频 | h色视频在线观看 | 在线观看亚洲专区 | 亚洲乱码在线 | 色综合久久88色综合天天 | 国产精品免费一区二区 | 亚洲国产午夜视频 | 国产精品亚洲一区二区三区 | 日韩欧美一区二区三区 | 亚洲+变态+欧美+另类+精品 | 国产一区二区精品在线 | 日韩免费一区 | 青青草人人 | 日韩av在线中文字幕 | 91免费观看视频 | 久久第一区| 精品在线二区 | 成人一级黄色大片 | 九九在线视频 | 亚洲成人中文字幕 | 亚洲wu码| 91亚洲一区 | 国产真实精品久久二三区 | 黄色成人av | 亚洲综合二区 | 精品国产91久久久久久久 | 成人免费福利视频 | 国产超碰人人爽人人做人人爱 | 欧美一区久久 | 亚洲在线播放 | 中文字幕一区二区三区免费视频 | 亚洲一区二区在线 | 国产一区二区三区久久久久久 | 国产午夜精品在线 | 国产福利片在线 | 91亚洲精品乱码久久久久久蜜桃 | 国产精品久久久精品 | 国产片淫级awww | 毛片网页 | 美女在线视频一区二区 | 亚州综合一区 | 一区二区在线视频 | 亚洲一区二区在线 | 亚洲精品自在在线观看 | 日韩一区二区三区在线视频 | 国产九九精品视频 | 久久久91精品国产一区二区三区 | 91看片网 | 99精品欧美一区二区蜜桃免费 | 精品一区二区三区四区五区 | 久久精品亚洲精品 | 激情久久av一区av二区av三区 | 亚洲综合无码一区二区 | 伊人免费视频二 | 一级欧美片 | 欧美在线一区二区 | 狠狠躁夜夜躁人人爽天天高潮 | 九九久久久| 成人亚州| 天天操网 | 国产美女av在线 | 色就是色欧美 | 国产亚洲欧美一区 | 黄网免费看 | 亚洲一区二区三区视频 | 国产性一级片 | 国产精品一区二区三区在线 | 免费毛片网 | 久久夜视频| 99久久精品一区二区成人 | 欧美精品在线一区二区三区 | 欧美日韩在线看 | 久久久一区二区 | 日韩中字幕 | 日韩快播电影 | 成人在线视频网址 | 成人美女免费网站视频 | 日本爽快片毛片 | 久久精品亚洲精品国产欧美 | 中文字字幕在线 | 天堂成人国产精品一区 | 夜本色 | 午夜资源| 国产一区二区在线电影 | 亚洲一区二区在线视频 | 日韩精品一区二区三区免费观看视频 | 91精品久久久久久久久中文字幕 | 一本一本久久a久久精品综合妖精 | 韩国电影久久影院 | 一区二区三区国产 | 日韩中文字幕精品 | 视频一区二区三区中文字幕 | 久久亚洲精品视频 | 日本免费网 | 欧美日韩高清在线一区 | 精品综合久久 | 午夜精品视频 | 亚洲一区二区三区免费 | 一区二区三区四区不卡视频 | 电影91久久久 | 国产精品久久久久久久久免费桃花 | 欧美大片一区二区 | 91麻豆产精品久久久久久 | 欧美日韩午夜精品 | 精品在线看 | 亚洲午夜电影 | av在线免费播放 | 久久人人爽人人爽人人片av不 | 精品国产仑片一区二区三区 | 欧美午夜在线 | 国产一区二区三区精品久久久 | 精品日韩欧美 | 久久蜜桃视频 | 日韩一区欧美一区 | 午夜视频 | 国厂黄色片 | 久草电影网| 久久99国产精品 | 国产视频中文字幕 | 精品不卡 | 在线 丝袜 欧美 日韩 制服 | 久久一二区 | 超碰在线观看97 | 国产精品久久久久久亚洲调教 | 国产精品久久av | 午夜私人影院在线观看 | 99久久国产综合精品女不卡 | 亚洲精品国产偷自在线观看 | 欧美性久久| 亚洲精品久久久久久下一站 | 精品久 | 久久精品2 | 伊人影视 | 国产精品免费在线 | 日韩精品| 亚洲欧美成人影院 | 国产精品久久久久久久久久久久久久 | 麻豆沈芯语在线观看 | 日韩一区电影 | 可以免费观看的av | 久久夫妻网 | 亚洲 欧美 自拍偷拍 | 久久精品一级 | 国产剧情一区二区 | 亚洲视频一区二区 | 亚洲在线 | 国产成人免费视频 | 一级免费网站 | 日本黄色片免费 | 91精品国产一区二区三区蜜臀 | 亚洲国产精品一区 | 日本在线观看视频网站 | 欧美日韩精品久久久久 | 伊人成人222| 亚洲一区二区免费在线观看 | 国产午夜精品久久久久久久 | 久久久久久久国产精品 | 日干夜操| 欧美在线观看免费观看视频 | av一区二区三区四区 | 91视频在线 | 亚洲成av人片在线观看 | 亚洲精品乱码久久久久膏 | 日韩精品影院 | 在线日韩欧美 | 欧美精品一区二区三区一线天视频 | 中文字幕在线免费观看 | 日本精品一区二 | 亚洲精品视频在线观看网站 | 成人午夜精品一区二区三区 | 成人午夜 | 午夜天堂精品久久久久 | 亚洲精品国产精品国自产 | 在线色站 | 中文字幕免费在线观看 | 成人欧美一区二区三区在线观看 | 精品国产31久久久久久 | 一区二区三区国产精品 | 久久久久国产亚洲日本 | 五月激情综合 | 国产免费一区二区三区最新不卡 | 国产精品久久久久久久久久妞妞 | 久久99国产伦子精品免费 | 青青久视频 | 一区免费看 | 成人免费一区二区三区视频网站 | 综合网激情 | 国产精品久久久久国产精品 | 亚洲一区不卡在线 | 日本久久精品电影 | 天天天干天天射天天天操 | 精品久久久久一区二区国产 | 君岛美绪一区二区三区在线视频 | 久日精品 | 午夜视频在线观看免费视频 | 欧美激情首页 | 国产一级黄色大片 | 国产精品久久久久久久 | 亚洲二区在线 | 日本在线视频不卡 | 日日干天天操 | 精品无人乱码区1区2区3区 | 一区二区精品视频 | www视频在线观看 | 99热这里有精品 | 天天干夜夜操 | 九九综合九九 | 姐姐在线观看动漫第二集免费 | 国产免费拔擦拔擦8x高清在线人 | 综合久久网| 狠狠色狠狠色合久久伊人 | 亚洲免费观看视频 | 亚洲午夜精品一区二区三区他趣 | 久久青| 91精品欧美久久久久久动漫 | 91aiai | 欧美日韩亚洲一区二区 | 夜夜天天操 | 黄色片免费观看网站 | 欧美 日韩 国产 一区 | 欧美日一区 | 欧美日韩一区二区三区四区 | 欧美一级在线观看 | 亚洲国产精品99久久久久久久久 | 国产传媒一区 | 大象一区 | 国产精品视屏 | 91麻豆精品国产91久久久久 | 国产玖玖 | 国产91精品一区二区绿帽 | 国产无套一区二区三区久久 | 久久一级| 国产精品99久久久久久动医院 | 国产精品国产三级国产aⅴ中文 | 自拍第一页 | 91丁香婷婷综合久久欧美 | 亚洲一区二区中文 | 午夜精品久久久久久久久久久久久 | 亚洲欧美激情在线 | 日韩中文视频 | 中文无码久久精品 | 中文字幕亚洲一区 | 久久av综合 | 91国内精品久久 | 免费欧美| 91国在线高清视频 | 涩涩视频在线看 | 欧美久久视频 | 亚洲免费av片 | 午夜私人影院 | 伊人网伊人 | 岛国av免费观看 | 亚洲三区在线观看 | 91麻豆精品国产91久久久久 | 国产激情精品一区二区三区 | 成人综合区 | 黄网在线 | 中文字幕亚洲精品 | 久久国产精品视频一区 | 欧美日韩中文国产一区发布 | 欧美一级二级片 | 在线看免费的a | 国产高清在线精品一区二区三区 | 国产精品伦一区二区三级视频 | 色欧美片视频在线观看 | 免费日韩视频 | 一二三四在线视频观看社区 | 国产精品福利网站 | 国产精品久久国产愉拍 | 黑人巨大精品欧美一区二区三区 | 国产在线a| 黄色大片在线播放 | 九七超碰在线 | 久久国产久 | 国产91黄色 | www.日韩大片 | 欧美成人二区 | 欧美精品一区在线发布 | 精品少妇一区二区三区 | 欧美精品久久久 | 超黄视频在线观看 | 国产日产精品一区二区三区四区 | av在线综合网 | 日韩精品久久久久久 | 国产精品毛片一区二区 | 久久视频免费 | 亚洲一区视频在线 | 中文字幕精品一区久久久久 | 欧美视频在线观看不卡 | 视频1区| 欧美激情欧美激情在线五月 | 876av国产精品电影 | 日韩中文字幕在线观看 | 国产午夜精品久久 | a在线免费观看 | 国产精品久久久久aaaa九色 | 欧美精品一区在线发布 | 国产精品一区2区 | 久久伊人一区二区 | 亚洲成人精品网 | 中文字幕在线精品 | 亚洲视频一区二区三区 | 成人亚洲黄色 | 久久久亚洲一区 | 婷婷视频在线 | 亚洲精品久久久久avwww潮水 | 欧美日日干 | 91色乱码一区二区三区 | 成人影院网站ww555久久精品 | 日本不卡一区二区 | 欧美精品一区二区在线观看 | 中文字幕在线电影 | 久久99精品久久久久久园产越南 | 高清久久 | 香蕉成人啪国产精品视频综合网 | 久久99精品国产.久久久久 | 国产精品视频入口 | 欧美日韩在线免费观看 | 中文字幕av一区二区三区免费看 | 天天干天天插 | 亚洲www啪成人一区二区 | 国产精品一区2区 | 欧美性猛交一区二区三区精品 | 欧美色性 | 久久久成 | 日韩午夜电影在线观看 | 久久大陆 | 男女啪网站 | 午夜在线影院 | 看毛片软件 | 亚洲午夜精品片久久www慈禧 | 亚洲日本中文 | 日韩中文字幕无码一区二区三区 | 国产深夜视频在线观看 | 日韩国产欧美 | 日本一二三区在线 | 国产午夜久久 | 亚洲在线观看免费视频 | 色综合天天综合网国产成人网 | 日韩欧美精品一区二区三区 | 欧美成人激情 | 欧美久久免费 | 色噜噜视频 | 欧美中文 | 亚洲精品第一区在线观看 | 亚洲精品乱码久久久久久蜜桃 | www.久久精品| 欧美一级免费在线观看 | 国产一区二区三区免费 | 精品国产青草久久久久福利 | 中文字幕亚洲综合 | 久久免费99精品久久久久久 | 欧美精品1区 | 黄色片子视频 | 国产一二三区在线观看 | 国产精品www | 91春色 | 91精品国产91久久久久久黑人 | 亚洲免费观看 | 欧洲成人午夜免费大片 | 高清一区二区三区 | 中文字幕精品一区二区三区精品 | 国产精品自产av一区二区三区 | 青青草视频网站 | 精品国产乱码久久久久久1区2区 | 91精品国产综合久久福利软件 | 一级电影院 | 日韩欧美在线观看一区 | 国产免费中文字幕 | 国产精品久久国产精品 | 国产美女永久免费无遮挡 | 日韩91| 久久av一区二区 | 日本精品在线 | sese综合 | 欧美精品1区2区3区 精品国产欧美一区二区 | 国产农村妇女精品久久 | 国产一区二区三区视频 | 成人激情视频 | 日本美女一区二区三区 | 久久99精品久久久久子伦 | 国产精品久热 | 日韩激情视频一区二区 | 国产日韩欧美 | 欧美日韩精品一区二区在线播放 | 国产欧美久久久久久 | 国产日韩中文字幕 | 日本a网 | 精品视频一区二区三区 | 国产午夜精品久久 | 成人aaaa | 欧美福利在线观看 | 美女久久久久 | 成人不卡视频 | 国产精品亚洲一区二区三区在线 | 人人爽日日爽 | 亚洲啪啪网站 | 天堂视频中文字幕 | 久久综合狠狠综合久久综合88 | 精品久久久久久久久久久久 | 久久精品国产77777蜜臀 | 免费国产成人 | 日本不卡在线 | 久久国产精品视频 | 人人做人人澡人人爽欧美 | 国产精品片aa在线观看 | 一区二区三区四区在线 | 亚洲国产成人久久一区二区三区 | 老牛影视av一区二区在线观看 | 久久亚洲精品国产一区 | 乱人伦xxxx国语对白 | 91精品久久久久久久久久 | 日本免费一区二区三区 | 日韩亚洲在线 | 免费无遮挡www小视频 | 中文字幕 国产精品 | 国产精品福利网站 | av中文字幕网 | 国产精品自拍视频 | 99re视频| 欧美性一区二区三区 | 久久aⅴ国产欧美74aaa | 欧美三级电影在线播放 | 久久久久久久99精品免费观看 | 日韩在线欧美 | 日韩欧美一区二区在线观看视频 | 成人精品一区二区三区中文字幕 | 亚洲八区 | 91高清在线| 欧美wwwsss9999 | 久久久精品日韩 | 日韩成人在线视频 | 精品久久久久一区二区三区 | 91精品综合久久久久久五月天 | 九九热精品视频在线观看 | 亚洲免费精品 | 在线观看日韩精品 | 91精品国产91综合久久蜜臀 | 99久久久久国产精品免费 | 一区视频| 成人免费黄色小视频 | 一区二区视频在线 | 亚洲国产精品99久久久久久久久 | 国产精品二区三区 | 一级毛片免费看 | 精品欧美日韩 | 久久国产精品视频 | 精品一区二区久久久久久久网站 | 日本黄色大片免费观看 | 草久网| 亚洲国产成人av好男人在线观看 | 久久久99久久久国产自输拍 | 国产激情偷乱视频一区二区三区 | 国产91在线 | 亚洲 | 狠狠综合久久av一区二区老牛 | 日韩视频国产 | 欧美激情精品久久久久久 | 视频在线一区 | 色免费视频| 精品国产髙清在线看国产毛片 | 国产综合精品一区二区三区 | 国产三区在线成人av | 亚洲天堂一区二区 | 中文字幕av黄色 | 91精品久久久久久综合五月天 | theporn国产在线精品 | 精精国产| 99精品免费 | 亚洲精品色 | 91国视频| 暖暖成人免费视频 | 蜜桃官网 | 久久久久久亚洲精品 | 久久免费99精品久久久久久 | 亚洲欧美国产一区二区三区 | 免费久久99精品国产婷婷六月 | 男人的天堂亚洲 | 成人免费一区二区三区视频网站 | 日韩在线永久免费播放 | 国产精品成人国产乱一区 | 亚洲福利一区二区 | 欧美精品免费在线观看 | 国产成人精品一区二 | 青青久久网 | 久久成人免费 | 精品国产鲁一鲁一区二区三区 | 日韩一区二区观看 | 午夜精品福利一区二区三区蜜桃 | 日韩欧美一区二区在线 | 久久99国产精品久久99大师 | 亚洲aⅴ | 精品一区二区三区三区 | 一级免费毛片 | 国外成人在线视频网站 | 91在线免费观看 | 亚洲欧洲一区二区 | 日韩美一级| 超碰人人操 | 日本久久精品一区二区 | 欧美日韩一区二区在线 | 中国黄色在线视频 | 无码日韩精品一区二区免费 | 麻豆国产一区二区三区四区 | 色婷婷综合久久久中文字幕 | 精品一区二区三区视频 | 欧美一级在线 | 天天综合7799精品影视 | 欧美激情一区二区 | 91精品国产综合久久久久久蜜臀 | 中文字幕99| 亚洲精选免费视频 | 成人午夜性a一级毛片免费看 | 四虎永久免费在线 | 五月婷婷激情 | 亚洲成人福利 | 日韩视频在线视频 | 国产精品一二三区视频 | 久久久久久久久一区二区三区 | 久草久草久草 | 亚洲精品一区二区在线观看 | 国产精品欧美一区二区三区不卡 | 精品视频久久 | 国产欧美久久久久久 | 91精品国产综合久久福利软件 | 国产精品成人在线观看 | 精品影院 | 福利三区| 国产美女久久久 | 国产日韩免费视频 | 色婷婷在线视频 | 岛国av免费看| 一区二区三区亚洲 | 亚洲男人网 | 女同理伦片在线观看禁男之园 | 亚洲欧美在线免费观看 | 精品国产一区二区三区在线观看 | 国产极品探花 | 欧美精品综合 | 一区二区中文字幕 | 最新高清无码专区 | 亚洲日本二区 | 一区二区日韩在线观看 | 欧美久久久久 | 欧美成人精品一区 | 在线观看亚洲一区二区 | 日韩成人tv | 国产精品久久久久无码av | 中文字幕 国产精品 | 国产一区二区免费视频 | 欧美污污| 精品久久久久久久久久久久久久 | 中文字幕亚洲精品 | 色性av |