黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

詳解Linux下調試器GDB的基本使用方法

瀏覽:191日期:2024-04-08 16:06:07
目錄一、概述二、gdb調試2.1、設置斷點2.1.1、斷點commands高級功能2.2、運行2.3、顯示棧幀2.4、顯示變量2.5、顯示寄存器2.6、單步執行2.7、繼續執行2.8、監視點2.9、改變變量的值2.10、生成內核轉儲文件2.11、attach到進程2.12、反復執行2.13、初始化文件2.14、設置源碼目錄2.15、TUI調試2.16、Catchpoint2.17、自定義腳本2.17.0、注釋、賦值、顯示2.17.1、自定義命令2.17.2、條件語句2.17.3、循環語句2.18、dump內存到指定文件三、gdb+gdbserver遠程調試四、通過core+gdb離線分析4.1、加載庫文件4.2、查看backtrace4.3、Core Dump核心轉存儲文件目錄和命名規則4.4、ulimit的使用五、GDB小技巧5.1、關閉5.2、附著到已運行kernel一、概述

GDB調試的三種方式:

1. 目標板直接使用GDB進行調試。

2. 目標板使用gdbserver,主機使用xxx-linux-gdb作為客戶端。

3. 目標板使用ulimit -c unlimited,生成core文件;然后主機使用xxx-linux-gdb ./test ./core。

二、gdb調試

構造測試程序如下main.c和sum.c如下:

main.c:#include <stdio.h>#include <stdlib.h> extern int sum(int value); struct inout { int value; int result;};int main(int argc, char * argv[]){ struct inout * io = (struct inout * ) malloc(sizeof(struct inout)); if (NULL == io) {printf('Malloc failed.n');return -1; } if (argc != 2) {printf('Wrong para!n');return -1; } io -> value = *argv[1] - ’0’; io -> result = sum(io -> value); printf('Your enter: %d, result:%dn', io -> value, io -> result); return 0;}sum.c:int sum(int value) { int result = 0; int i = 0; for (i = 0; i < value; i++)result += (i + 1); return result;}

然后gcc main.c sum.c -o main -g, 得到main可執行文件.

下面介紹了gdb大部分功能,1.1 設置斷點以及 1.3顯示棧幀是常用功能;調試過程中可以需要1.6 單步執行,并且1.4 顯示變量、1.5顯示寄存器、1.8 監視點、1.9 改變變量的值。

如果進程已經運行中,需要1.11 attach到進程,或者1.10 生成轉儲文件進行分析。當然為了提高效率可以自定義1.13 初始化文件。

2.1、設置斷點

設置斷點可以通過b或者break設置斷點,斷點的設置可以通過函數名、行號、文件名+函數名、文件名+行號以及偏移量、地址等進行設置。

格式為:

break 函數名

break 行號

break 文件名:函數名

break 文件名:行號

break +偏移量

break -偏移量

break *地址

查看斷點,通過info break查看斷點列表。

詳解Linux下調試器GDB的基本使用方法

刪除斷點通過命令包括:

delete <斷點id>:刪除指定斷點

delete:刪除所有斷點

clear

clear 函數名

clear 行號

clear 文件名:行號

clear 文件名:函數名

詳解Linux下調試器GDB的基本使用方法

斷點還可以條件斷住

break 斷點 if 條件;比如break sum if value==9,當輸入的value為9的時候才會斷住。

condition 斷點編號:給指定斷點刪除觸發條件

condition 斷點編號 條件:給指定斷點添加觸發條件

如下可以看出,當入參為9的時候被斷住,而入參為8的時候運行到結束。

詳解Linux下調試器GDB的基本使用方法

斷點還可以通過disable/enable臨時停用啟用。

disable

disable 斷點編號

disable display 顯示編號

disable mem 內存區域

enable

enable 斷點編號

enable once 斷點編號:該斷點只啟用一次,程序運行到該斷點并暫停后,該斷點即被禁用。

enable delete 斷點編號

enable display 顯示編號

enable mem 內存區域

2.1.1、斷點commands高級功能

大多數時候需要在斷點處執行一系列動作,gdb提供了在斷點處執行命令的高級功能commands。

#include <stdio.h>int total = 0;int square(int i){ int result=0; result = i*i; return result;}int main(int argc, char **argv){ int i; for(i=0; i<10; i++) {total += square(i); } return 0;}

比如需要對如上程序square參數i為5的時候斷點,并在此時打印棧、局部變量以及total的值

編寫gdb.init如下:

set logging on gdb.logb square if i == 5commands bt full i locals p total print 'Hit break when i == 5'end

在gdb shell中source gdb.init,然后r執行命令,結果如下:

詳解Linux下調試器GDB的基本使用方法

可以看出斷點在i==5的時候斷住了,并且此時打印了正確的值。

2.2、運行

“gdb 命令”之后,run可以在gdb下運行命令;如果命令需要參數則跟在run之后。

詳解Linux下調試器GDB的基本使用方法

如果需要斷點在main()處,直接執行start就可以。

詳解Linux下調試器GDB的基本使用方法

2.3、顯示棧幀

如果遇到斷點而暫停執行,或者coredump可以顯示棧幀。

通過bt可以顯示棧幀,bt full可以顯示局部變量。

詳解Linux下調試器GDB的基本使用方法

命令格式如下:

bt

bt full:不僅顯示backtrace,還顯示局部變量

bt N:顯示開頭N個棧幀

bt full N

2.4、顯示變量

“print 變量”可以顯示變量內容。

詳解Linux下調試器GDB的基本使用方法

如果需要一行監控多個變量,可以通過p {var1, var2, var3}。

如果要跟蹤自動顯示,可以使用display {var1, var2, var3}

2.5、顯示寄存器

info reg可以顯示寄存器內容。

詳解Linux下調試器GDB的基本使用方法

在寄存器名之前加$可以顯示寄存器內容,

p $寄存器:顯示寄存器內容

p/x $寄存器:十六進制顯示寄存器內容。

詳解Linux下調試器GDB的基本使用方法

用x命令可以顯示內容內容,“x/格式 地址”。

x $pc:顯示程序指針內容

x/i $pc:顯示程序指針匯編。

x/10i $pc:顯示程序指針之后10條指令。

x/128wx 0xfc207000:從0xfc20700開始以16進制打印128個word。

詳解Linux下調試器GDB的基本使用方法

還可以通過disassemble指令來反匯編。

disassemble

disassemble 程序計數器:反匯編pc所在函數的整個函數。

disassemble addr-0x40,addr+0x40:反匯編addr前后0x40大小。

2.6、單步執行

單步執行有兩個命令next和step,兩者的區別是next遇到函數不會進入函數內部,step會執行到函數內部。

如果需要逐條匯編指令執行,可以分別使用nexti和stepi。

2.7、繼續執行

調試時,使用continue命令繼續執行程序。程序遇到斷電后再次暫停執行;如果沒有斷點,就會一直執行到結束。

continue:繼續執行

continue 次數:繼續執行一定次數。

2.8、監視點

要想找到變量在何處被改變,可以使用watch命令設置監視點watchpoint。

watch <表達式>:表達式發生變化時暫停運行

awatch<表達式>:表達式被訪問、改變是暫停執行

rwatch<表達式>:表達式被訪問時暫停執行

詳解Linux下調試器GDB的基本使用方法

其他變種還包括watch expr [thread thread-id] [mask maskvalue],其中mask需要架構支持。

GDB不能監控一個常量,比如watch 0x600850報錯。

但是可以watch *(int *)0x600850。

2.9、改變變量的值

“通過set variable <變量>=<表達式>”來修改變量的值。

詳解Linux下調試器GDB的基本使用方法

set $r0=xxx:設置r0寄存器的值為xxx。

2.10、生成內核轉儲文件

通過“generate-core-file”生成core.xxxx轉儲文件。

然后gdb ./main ./core.xxxx查看恢復的現場。

詳解Linux下調試器GDB的基本使用方法

另一命令gcore可以從命令行直接生成內核轉儲文件。

gcore `pidof 命令`:無需停止正在執行的程序已獲得轉儲文件。

2.11、attach到進程

如果程序已經運行,或者是調試陷入死循環而無法返回控制臺進程,可以使用attach命令。

attach pid

通過ps aux可以查看進程的pid,然后使用bt查看棧幀。

以top為例操作步驟為:

1. ps -aux查看進程pid,為16974.

2. sudo gdb attach 16974,使用gdb 附著到top命令。

3. 使用bt full查看,當前棧幀。此時使用print等查看信息。

4. 還可以通過info proc查看進程信息。

2.12、反復執行

continue、step、stepi、next、nexti都可以指定重復執行的次數。

ignore 斷點編號 次數:可以忽略指定次數斷點。

2.13、初始化文件

Linux環境下初始化文件為.gdbinit。

如果存在.gdbinit文件,gdb在啟動的之前就將其作為命令文件運行。

初始化文件和命令文件執行順序為:HOME/.gdbinit > 運行命令行選項 > ./.gdbinit > -x指定命令文件。

2.14、設置源碼目錄

調試過程中如果需要關聯到源碼,查看更詳細的信息。

可以通過directory或者set substitute-path來制定源碼目錄。

2.15、TUI調試

TUI(TextUserInterface)為GDB調試的文本用戶界面,可以方便地顯示源代碼、匯編和寄存器文本窗口。

源代碼窗口和匯編窗口會高亮顯示程序運行位置并以’>’符號標記。有兩個特殊標記用于標識斷點,第一個標記用于標識斷點類型:

B:程序至少有一次運行到了該斷點 b:程序沒有運行到過該斷點 H:程序至少有一次運行到了該硬件斷點 h:程序沒有運行到過該硬件斷點

第二個標記用于標識斷點使能與否:

+:斷點使能Breakpointisenabled.-:斷點被禁用Breakpointisdisabled.

當調試程序時,源代碼窗口、匯編窗口和寄存器窗口的內容會自動更新。

詳解Linux下調試器GDB的基本使用方法

2.16、Catchpoint

catch可以根據某些類型事件來停止程序執行。

可以通過catch syscall close,捕捉產生系統調用close的時候停止程序執行。

其他的catch事件還包括,throw、syscall、assert、exception等等。

2.17、自定義腳本

命令行的入參可以通過argc和*argv獲取。

2.17.0、注釋、賦值、顯示

# - 為腳本添加注釋。

set - 為變量賦值,以$開頭,以便區分gdb還是調試程序變量。

例如:set $x = 1

顯示變量可以通過echo、printf。

2.17.1、自定義命令

利用define命令可以自行定義命令,還可以使用document命令給自定義命令添加說明。

define adder if $argc == 2 print $arg0 + $arg1 end if $argc == 3 print $arg0 + $arg1 + $arg2 endenddocument adder Sum two or three variables.end

執行bf自定義命令,結果如下。

詳解Linux下調試器GDB的基本使用方法

無行參聲明,但可以直接用$arg0,$arg1引用, $argc 為形參個數

2.17.2、條件語句

條件命令:if...else...end。這個同其它語言中提供的if命令沒什么區別,只是注意結尾的end。

2.17.3、循環語句

循環命令:while...end。gdb同樣提供了loop_break和loop_continue命令分別對應其它語言中的break和continue,另外同樣注意結尾的end。

set logging on overwrite gdb.log------------將顯示log保存到gdb.log中。set pagination off--------------------------關閉分頁顯示功能。tar jtag jtag://localhost:1025--------------連接上JTAG。d-------------------------------------------刪除現有斷點。b func_a------------------------------------在func_a增加斷點。commands------------------------------------斷點后,執行如下命令。 b func_b----------------------------------在func_a斷點之后,在func_b增加斷點。 commands bt full-------------------------------打印func_b處棧幀。 c-------------------------------------繼續執行。 end b file.c:555------------------------------在file.c的555行增加斷點 commands while 1-------------------------------無限執行next命令。next end end c-----------------------------------------繼續執行,才會觸發func_b和file.c:555斷點。endc-------------------------------------------是程序得到繼續執行。

在命令行gdb -x gdb.init bin;或者gdb bin,然后在命令行soruce gdb.init同樣可以更新腳本。

2.18、dump內存到指定文件

在gdb調試中可能需要將一段內存導出到文件中,可以借助dump命令。

命令格式:

dump binary memory FILE START STOP

比如dump binary memory ./dump.bin 0x0 0x008000000,將內存區間從0x0到0x00800000導出到dump.bin中。

三、gdb+gdbserver遠程調試

目標板gdbserver+主機gdb遠程調試的方式,比較適合目標板性能受限,只能提供gdbserver功能。

在主機上執行gdb進行遠程調試。測試程序如下。

#include <stdio.h>void C(int *p){ *p = 0x12;}void B(int *p){ C(p);}void A(int *p){ B(p);}void A2(int *p){ C(p);}int main(int argc, char **argv){ int a; int *p = NULL; A2(&a); // A2 > C printf('a = 0x%xn', a); A(p); // A > B > C return 0;}

對目標板的設置方式是:開啟端口2345作為gdbserver銅線端口。

gdbserver :2345 test_debug

詳解Linux下調試器GDB的基本使用方法

主機上執行gdb test_debug,然后tar remote 192.168.2.84.2345連接遠程gdbserver。

目標板會收到“Remote debugging from host 192.168.33.77”消息,表示兩者連接成功。

詳解Linux下調試器GDB的基本使用方法

主機上就可以進行遠程調試,continue之后兩端得到的結果如下:

目標板輸出“a=0x12”之后停止運行,

詳解Linux下調試器GDB的基本使用方法

主機上得到SIGSEGV,并可以查看backtrace信息。可以看出問題點在指針p指向NULL,0指針賦值錯誤。

詳解Linux下調試器GDB的基本使用方法

四、通過core+gdb離線分析

在目標板上執行ulimit -c unlimited,執行應用程序。

程序出錯后,會在當前目錄下生成core文件。

將core文件拷出后,再PC上執行xxx-linux-gdb ./test ./core進行分析。

4.1、加載庫文件

在運行xxx-linux-gdb ./test ./core之后,可能存在庫文件關聯不上的情況。

使用info sharedlibrary,查看庫加載情況。

FromTo Syms Read Shared Object LibraryNo xxx.soNo /lib/libdl.so.2No /lib/libpthread.so.00x2ab6ec00 0x2ac09ba4 Yes xxx/lib/libstdc++.so.6No /lib/libm.so.60x2acec460 0x2acf626c Yes xxx/lib/libgcc_s.so.1No /lib/libc.so.6No /lib/ld.so.1

可以通過set solib-search-path和set solib-absolute-prefix來設置,對應庫所在的路徑。

FromTo Syms Read Shared Object Library0x2aaca050 0x2aacc8d0 Yes xxx.so0x2aad0ad0 0x2aad17ac Yes (*) xxx/lib/libdl.so.20x2aad8a50 0x2aae7434 Yes (*) xxx/lib/libpthread.so.00x2ab6ec00 0x2ac09ba4 Yes xxx/lib/libstdc++.so.60x2ac4b3d0 0x2acb1988 Yes xxx/lib/libm.so.60x2acec460 0x2acf626c Yes xxx/lib/libgcc_s.so.10x2ad17b80 0x2adf699e Yes xxx/lib/libc.so.60x2aaa89e0 0x2aabf66c Yes (*) xxx/lib/ld.so.1(*): Shared library is missing debugging information.

可以看出相關庫文件都已經加載,只是部分庫文件沒有調試信息。

4.2、查看backtrace

查看coredump的backtrace通過bt即可,更全的信息通過bt full。

產看函數調用棧的幾個函數

bt:顯示所有的函數調用棧幀的信息,每個幀一行。

bt n:顯示棧定的n個幀信息。

bt -n:顯示棧底的n個幀信息。

bt full:顯示棧中所有幀的完全信息如:函數參數,本地變量。

bt full n:用法同上。

bt full -n

(gdb) bt#0 0x2ad71f1e in memcpy () from xxx/lib/libc.so.6#1 0x2ad71ac0 in memmove () from xxx/lib/libc.so.6#2 0x0011f36c in std::__copy_move<false, true, std::random_access_iterator_tag>::__copy_m<unsigned char> (__first=0x34dfb008 '377330377', <incomplete sequence 340>, __last=0x34eeea2c '', ...#3 0x0011ee22 in std::__copy_move_a<false, unsigned char*, unsigned char*> (__first=0x34dfb008 '377330377', <incomplete sequence 340>, __last=0x34eeea2c '', __result=0x2b2013c0 '377330377', <incomplete sequence 340>) at xxxinclude/c++/6.3.0/bits/stl_algobase.h:386#4 0x0011e7e2 in std::__copy_move_a2<false, __gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char> >, unsigned char*> (__first=..., __last=..., __result=0x2b2013c0 '377330377', <incomplete sequence 340>) at xxx/bits/stl_algobase.h:424#5 0x0011dfd2 in std::copy<__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char> >, unsigned char*> (__first=..., __last=..., __result=0x2b2013c0 '377330377', <incomplete sequence 340>) at xxx/6.3.0/bits/stl_algobase.h:456#6 0x0011c948 in xxx#7 0x00133e08 in xxx#8 0x2aada31e in start_thread () from xxx/libc/lib/libpthread.so.0#9 0x005a11b4 in ?? ()4.3、Core Dump核心轉存儲文件目錄和命名規則

默認情況下core文件存在應用當前路徑下,為了區分可以進行設置。

區分core主要通過/proc/sys/kernel/core_uses_pid和/proc/sys/kernel/core_pattern進行設置。

/proc/sys/kernel/core_uses_pid:可以控制產生的core文件的文件名中是否添加pid作為擴展,如果添加則文件內容為1,否則為0。

proc/sys/kernel/core_pattern:可以設置格式化的core文件保存位置或文件名,比如原來文件內容是core-%e

echo '/tmp/core-%e-%p' > core_pattern。

將會控制所產生的core文件會存放到/corefile目錄下,產生的文件名為core-命令名-pid-時間戳

以下是參數列表:

%p - insert pid into filename 添加pid%u - insert current uid into filename 添加當前uid%g - insert current gid into filename 添加當前gid%s - insert signal that caused the coredump into the filename 添加導致產生core的信號%t - insert UNIX time that the coredump occurred into filename 添加core文件生成時的unix時間%h - insert hostname where the coredump happened into filename 添加主機名%e - insert coredumping executable name into filename 添加命令名

當然,你可以用下列方式來完成:

sysctl -w kernel.core_pattern=/tmp/core-%e-%p

4.4、ulimit的使用

功能說明:控制shell程序的資源。

語法:ulimit [-aHS][-c <core文件上限>][-d <數據節區大小>][-f <文件大小>][-m <內存大小>][-n <文件數目>][-p <緩沖區大小>][-s <堆疊大小>][-t <CPU時間>][-u <程序數目>][-v <虛擬內存大小>]

補充說明:ulimit為shell內建指令,可用來控制shell執行程序的資源。

參數:

-a  顯示目前資源限制的設定。-c <core文件上限>  設定core文件的最大值,單位為區塊。-d <數據節區大小>  程序數據節區的最大值,單位為KB。-f <文件大小>  shell所能建立的最大文件,單位為區塊。-H  設定資源的硬性限制,也就是管理員所設下的限制。-m <內存大小>  指定可使用內存的上限,單位為KB。-n <文件數目>  指定同一時間最多可開啟的文件數。-p <緩沖區大小>  指定管道緩沖區的大小,單位512字節。-s <堆疊大小>  指定堆疊的上限,單位為KB。-S  設定資源的彈性限制。-t <CPU時間>  指定CPU使用時間的上限,單位為秒。-u <程序數目>  用戶最多可開啟的程序數目。-v <虛擬內存大小>  指定可使用的虛擬內存上限,單位為KB。

五、GDB小技巧5.1、關閉

Type <return> to continue, or q <return> to quit---

當現實內容多的時候,GDB會強制分頁,現實就會暫停。但是可能并不需要,可以通過set pagination off關閉。

5.2、附著到已運行kernel

在已運行的Linux上,如果發生死機異常等問題,這時候定位問題需要使用jtag連接上。

連接方法是:

gdb-----------------------------------------------進入gdb shell。

target remote localhost:1025-------------------在gdb shell中通過ip:port連接上target。

file vmlinux----------------------------------------加載符號表。

然后就可以在線查看運行狀態了。

以上就是詳解Linux下調試器GDB的基本使用方法的詳細內容,更多關于Linux 調試器GDB的資料請關注好吧啦網其它相關文章!

標簽: Linux系統
相關文章:
主站蜘蛛池模板: 国产精品亚洲а∨天堂免在线 | 国产免费视频传媒 | 香港三级在线视频 | 永久免费观看的毛片手机视频 | 亚洲精品久久夜色撩人男男小说 | 无码少妇精品一区二区免费动态 | 绿帽h啪肉np辣文 | 人与善性猛交xxxx视频 | 国产三级做爰在线播放五魁 | 久久伊人五月天 | 成年在线网站免费观看无广告 | 国产日韩一级片 | 人人天天夜夜 | 国产精品高潮呻吟三区四区 | 亚洲日韩av一区二区三区四区 | 七月丁香婷婷 | 日韩三级一区二区三区 | 色九九视频 | 99年国精产品一二二区传媒 | 欧美性猛交xxxx乱大交蜜桃 | 哪里可以免费看av | 青青草精品视频 | 桃色在线视频 | 日韩日韩日韩日韩日韩 | 99久久久无码国产精品性 | 中文字幕av第一页 | 日韩在线播放中文字幕 | 桃色视频网站 | 人妻无码一区二区三区 | 久久人精品 | 日韩中文字幕亚洲精品欧美 | 国产一区二区黄 | 成人一级片在线观看 | 亚洲伊人久久精品影院 | 午夜少妇av| 爆乳一区二区三区无码 | 91日韩视频| 极品尤物av| 中文字幕日韩精品一区 | 中文字幕无码热在线视频 | 国产成人精品久 | 精品国产免费人成网站 | 99久久免费看视频 | 91福利一区二区 | 国产免费一区二区三区 | 国产嫩草影院久久久 | 精品久久久久久 | 老司机午夜在线 | 日韩www视频 | 久久国产精品久久w女人spa | 婷婷色怡春院 | 国产精品呦呦 | 性——交——性——乱免费的 | 国产麻豆a毛片 | 中文人妻无码一区二区三区 | 美女一级黄色片 | 少妇下蹲露大唇无遮挡 | 中文字幕第6页 | 男人的天堂在线 | 欧美亚洲国产日韩 | 人人超碰97 | a级毛片在线看日本 | 91久久国产综合久久91 | 四虎www永久在线精品 | 欧美性受ⅹ╳╳╳黑人a性爽 | 黄色一级淫片 | 欧美天堂久久 | 久久99综合| 草久网| 国产又爽又大又黄a片 | 美日韩在线 | 国产精品一区二区视频 | 午夜精品久久久久久99热明星 | 国产欧美精品一区二区 | 夜添久久精品亚洲国产精品 | 一级片在线播放 | 免费av免费看| 国产精品欧美一区二区三区喷水 | av三级毛片 | 自拍偷拍福利视频 | 亚洲国产精品日韩av不卡在线 | 在线观看免费小视频 | 国产一级二级日本在线 | 国产成人毛毛毛片 | 久操视频在线播放 | 国产一区二区三区四区五区美女 | 欧美肥婆姓交大片 | 国产特级毛片aaaaaa | av黄色片在线观看 | 国内露脸少妇精品视频 | 久久久久久久免费看 | 久久久久久亚洲精品中文字幕 | 国产精品日韩一区二区三区 | 一区二区小说 | 国产热の有码热の无码视频 | 国产激情视频一区 | 天天躁夜夜躁狠狠眼泪 | 深夜福利视频免费观看 | 18深夜在线观看免费视频 | 免费不卡av在线 | 午夜精品亚洲一区二区三区嫩草 | 18禁黄污吃奶免费看网站 | 含紧一点h边做边走动免费视频 | 日本黄页网站 | 欧美在线观看一区二区 | 国产精品久久久久久久久婷婷 | 色婷婷久久综合 | 亚洲最大成人综合网 | 国内激情 | 欧美一区二区三区在线观看视频 | 久久午夜夜伦鲁鲁片免费无码 | 亚洲视频一区二区在线 | 熟女人妻视频 | 亚洲欧美视频一区二区 | av网站在线免费播放 | 一区二区三区欧美在线 | 免费观看美女裸体网站 | 男人久久久 | 先锋资源国产 | 欧美乱妇高清无乱码免费 | 亚洲综合福利 | 日韩欧美大片 | 免费中文字幕日韩欧美 | 亚洲在线视频观看 | 国产精品不卡无码av在线播放 | 国产猛烈尖叫高潮视频免费 | 特级毛片全部免费播放器 | 热久久精品免费视频 | 日本特黄特色a大片免费高清观看视频 | 99国产精 | 成人年人免费看xxxxxxx | 农村老妇性真猛 | 久久99国产精品女同 | 性一交一乱一色一情丿按摩 | 毛茸茸亚洲孕妇孕交片 | 国自产拍偷拍精品啪啪一区二区 | 尤物97国产精品久久精品国产 | 欧美~大家屁股网站 | 少妇日韩| 国产乱在线 | 人人妻久久人人澡人人爽人人精品 | 国产人19毛片水真多19精品 | 国产肥老妇对白清 | 中文字幕人妻高清乱码 | 丰满人妻在公车被猛烈进入电影 | 亚洲熟女综合一区二区三区 | 亚洲精品亚洲人成在线 | 一本到在线观看 | 91麻豆影院| 亚洲乱仑| 亚洲日韩久久综合中文字幕 | 国产又粗又硬视频 | 久久国产精品波多野结衣av | 成人午夜在线视频 | 欧美成人精品激情在线视频 | 污污的视频在线观看 | 性一交一乱一乱一视频 | 在线视频 日韩 | 欧美午夜精品久久久久久浪潮 | 久久天天躁狠狠躁亚洲综合公司 | 亚洲福利视频网站 | 亚洲一区精品视频 | 国产性生大片免费观看性 | 亚洲精品喷潮一区二区三区 | 五月激情片 | 遮羞美女bbbbb洗澡视频 | 97人妻熟女成人免费视频色戒 | 日本一码二码三码在线 | 亚洲中文字幕久久久一区 | 性一交一乱一乱一乱视频 | 国产偷国产偷av亚洲清高 | 久久高清免费 | 国产欧美一区二区精品久久久 | 日韩三级av在线 | 少妇性荡欲视频 | 国产精品爱久久久久久久 | 亚洲色图17p | 亚洲国产一二 | www.youjizz.com在线 | 欧美在线免费观看 | 欧美黑人孕妇孕交 | 57pao成人国产永久免费视频 | 国产毛片精品一区二区 | 国产一区二区三区网站 | 污污内射在线观看一区二区少妇 | 91小视频 | 亚洲欧洲日本无在线码 | 岛国av网站| 日韩毛片免费无码无毒视频观看 | 正在播放精彩绝伦对白 | 久久久久久久久久一级 | 婷婷激情综合 | 成人情侣激情偷拍视频 | 玩弄放荡人妻一区二区三区 | 色偷偷av亚洲男人的天堂 | 精品福利一区二区三区免费视频 | 亚洲国产精品无码av | 国产美女精品视频免费播放软件 | 国产av一区二区三区传媒 | 日本免费人成视频在线观看 | 国产免国产免费 | 欧美成人看片一区二区三区尤物 | 亚洲天堂aaa | 337p日本欧洲亚洲大胆精品 | 国产无套内射普通话对白 | 日产精品久久久久久久 | 无码丰满熟妇juliaann与黑人 | 国产一区二区三区影院 | 亚洲精品亚洲人成人网 | 黄色大毛片 | 欧洲自拍一区 | 日本在线www | 可以免费看成人啪啪过程的软件 | 暗呦丨小u女国产精品 | 久久99久久99精品免观看粉嫩 | 91精品国产综合婷婷香蕉 | 日韩乱码人妻无码中文字幕久久 | 天天看片天天射 | 色峰视频 | 中文天堂在线播放 | 欧美日韩精品一区二区三区在线 | 欧美精品与人动性物交免费看 | 麻豆视频在线播放 | 国产精品久久久久久久久绿色 | 中文字幕网伦射乱中文 | 国产亲子乱弄免费视频 | 欧美日韩一级大片 | 日韩一级黄色片 | 伊人啪啪 | 嫩草视频91 | 久久视频精品 | 日韩欧美在线综合网 | 91在线观看免费视频 | 久久精品7 | 欧美老女人性生活视频 | 人妻少妇精品视频一区二区三区 | 夜夜高潮夜夜爽精品视频 | 国产老少配bbbb搡bbbb | 国产999精品久久久久久 | 91女神在线 | 日韩天堂视频 | 国产视频a在线观看 | 亚洲国产一区二区a毛片 | 亚洲丝袜一区二区 | 久久精品人人做人人妻人人玩 | 欧美最猛黑人xxxx黑人表情 | 日韩免费视频网站 | 久久久亚洲裙底偷窥综合 | 人妻精品久久无码区 | 国产男女猛烈无遮掩视频免费网站 | 我撕开了少妇的蕾丝内裤视频 | 51国偷自产一区二区三区 | 日本亚洲一区 | 亚洲欧美一级久久精品国产特黄 | 日本黄色片| 免费人成在线观看视频高潮 | 91丨porny丨尤物 | 黄色小视频网站免费 | 经典毛片 | 亚洲精品一区二区精华 | 亚洲天堂视频在线播放 | 久久99精品久久久久久水蜜桃 | 不卡毛片在线观看 | 国产福利久久 | 美日韩av在线播放 | 久草在线中文888 | 免费在线观看黄视频 | 亚洲一线二线三线写真 | 天天狠狠色综合图片区 | 精品丝袜人妻久久久久久 | 911看片| 日本无遮羞肉体啪啪大全 | 国产69精品久久久久777 | 色婷婷狠狠五月综合天色拍 | 自拍偷拍第二页 | 一本大道久久香蕉成人网 | 99精产国品一二三产区网站 | 国产一级特黄a高潮片 | av资源站| 色综合久久五月 | 少妇无码太爽了不卡视频在线看 | 日本黄色激情视频 | 国产aⅴ夜夜欢一区二区三区 | 久久频这里精品99香蕉 | 大学生久久香蕉国产线看观看 | 国内久久精品视频 | 在线a久青草视频在线观看 无套内射极品少妇chinese | 中文字幕人成无码人妻综合社区 | 成人做爰69片免费看网站野花 | 国产真人做爰毛片视频 | 精品久久久久久无码中文字幕一区 | 国产免费网站在线观看 | 亚洲精品乱码久久久久久金桔影视 | 五月激情综合 | 老头边吃奶边弄进去呻吟 | 国产毛片久久久久久 | 无码一区二区 | 四虎在线影院 | 护士脱了内裤让我爽了一夜视频 | 亚洲国产精品无码久久久秋霞1 | 日本乱论视频 | 青青青国内视频在线观看软件 | 中文字幕乱码亚洲无线三区 | 日本黄色xxx | 午夜小毛片 | 久久深夜 | 亚洲蜜桃精久久久久久久久久久久 | 久久这里只有精品6 | yy111111少妇影院免费观看 | 免费黄色小视频在线观看 | 91毛片网 | 精品99在线观看 | 成人爱爱 | 欧美国产在线看 | 麻豆av一区二区三区 | 大桥未久av一区二区三区中文 | 91亚洲成人 | 99无码熟妇丰满人妻啪啪 | 欧美婷婷久久五月精品三区 | 欧洲视频一区 | 国产天堂网站 | 天堂а√在线中文在线最新版 | 亚洲国产成人久久综合一区,久久久国产99 | mm1313亚洲国产精品无码试看 | 天堂久久一区 | 日韩精品一区二区中文字幕 | av导航大全 | 欧美日韩免费看 | 伊人影院在线视频 | 四虎视频 | 国产精品农村妇女白天高潮 | a级片一级片 | 久久久久久久一区二区 | 日韩视频在线观看免费视频 | 亚洲精品男人天堂 | 亚色在线视频 | 最新日韩在线视频 | 韩国女同性做爰三级 | 国产黑丝视频 | 久久久久99啪啪免费 | 日日涩 | 天堂一区人妻无码 | 日日躁夜夜躁白天躁晚上 | 久久久精品2019免费观看 | 成人免费视频视频 | 99久久久久久久久 | 黑人狂躁日本妞一区二区三区 | 六个黑人玩一个中国少妇视频 | 国产成人精品一区二区三区视频 | 亚洲人午夜射精精品日韩 | 青青艹视频在线 | 免费无遮挡无码视频在线观看 | 九九热在线观看视频 | 14萝自慰专用网站 | 丰满熟妇乱又伦在线无码视频 | 久久精品亚洲日本波多野结衣 | 成年人黄色在线观看 | 国产尤物在线视频 | 亚洲va欧美va国产综合先锋 | 青青青国产视频 | 国产模特私拍xxxx | 黄色a一级视频 | 国产女人爽的流水毛片 | 国产精品最新 | 林雅儿欧洲留学恋爱日记在线 | 女人高潮被爽到呻吟在线观看 | 亚洲欧洲国产视频 | 国产免费av一区二区三区 | 那里可以看毛片 | 成人在线免费视频 | 精品国产一区二区三区四区vr | 九色porny丨首页入口在线 | 精品人伦一区二区三区蜜桃免费 | 久色成人| 亚洲精品国产一区二区精华液 | 日韩成人一区二区 | 欧美日韩午夜爽爽 | 99爱在线精品免费观看 | 91免费大片网站 | 满春阁精品av在线导航 | 欲求不满 希岛あいり在线看 | 国产一级精品绿帽视频 | 国产视频在线一区二区 | 久久精品牌麻豆国产大山 | 国产精品久久在线 | 福利一区在线观看 | 国产精品亚洲五月天高清 | 免费一级网站 | 中文字幕熟妇人妻在线视频 | 日韩精品无码一区二区三区不卡 | 国产一区网站 | 中文字幕乱码在线人视频 | 欧美日韩在线视频免费播放 | 久久久www成人免费无遮挡大片 | 人妻熟妇女的欲乱系列 | 国模精品视频一区二区 | 蜜桃一区二区三区 | 黄色av免费在线看 | 浪潮av激情高潮国产精品香港 | 最近中文字幕日本 | 国内精品久久久久影院优 | 国产三级精品一区二区三区视频 | 成熟亚洲日本毛茸茸凸凹 | 亚洲精品国偷拍自产在线观看蜜桃 | 欧美成a人片在线观看久 | 草青青视频 | 日韩免费一二三区 | 国产一区二区不卡 | 午夜美女福利视频 | 国产igao为爱做激情国外 | 国产精品999视频 | 成人性生交大片免费看 | 日韩人妻ol丝袜av一二区 | 国产精品自在在线午夜免费 | 欧美专区第一页 | 涩涩网站免费 | 欧美一级性片 | 欧美激情在线一区二区三区 | 久久久久国产精品无码免费看 | 在线aa| 狠狠五月激情六月丁香 | 伊人av综合网 | 久久久久久亚洲精品无码 | 午夜精品99 | 亚洲精华国产精华精华液网站 | 91区人人爽人人都喜欢人人都有 | 波多野结衣一区二区三区中文字幕 | 欧美日韩国产二区 | 六月丁香婷婷色狠狠久久 | 电车痴汉在线观看 | 国产免费一区二区三区 | 国产精品久草 | 亚洲一区欧美二区 | 一本色道久久综合精品竹菊 | 337p日本欧洲亚洲大胆艺术图 | 免费av一级片 | 西西人体44www大胆无码 | 国产资源无限好片 | 四虎永久地址www成人 | 久久综合噜噜激激的五月天 | 欧美亚洲国产成人一区二区三区 | 欧美日韩在线视频一区 | 国产又黄又爽又刺激的免费网址 | 人妻妺妺窝人体色www聚色窝 | 国产亚洲一区二区在线观看 | 免费看黄色网 | 琪琪亚洲精品午夜在线 | 嫩草国产在线 | 欧美综合国产精品久久丁香 | 最新中文字幕在线 | 玖玖视频| 天天干视频 | 一本大道久久a久久综合婷婷 | 青草草在线视频 | 日韩三级精品 | 91成熟丰满女人少妇尤物 | 日日碰狠狠添天天爽超碰97久久 | 国产女爽123视频.cno | 特黄特色大片免费观看播放器 | 91精品国产综合久久国产大片 | 亚洲国产精品一区二区久久 | 91精品国产乱码久久久久久张柏芝 | 欧美交换配乱吟粗大在线观看 | 爽爽影院免费观看视频 | 久精品国产欧美亚洲色aⅴ大片 | 无码精品人妻一区二区三区影院 | 狠狠躁天天躁夜夜添人人 | 一区二区免费在线 | 性欧美日本 | 国产在线精品一区二区三区直播 | 天堂俺去俺来也www久久婷婷 | 日本一区二区三区免费播放 | 免费se99se| 亚洲 欧美 变态 另类 综合 | 三级黄片毛片 | 亚洲国产女人aaa毛片在线动漫 | 成人在线观看你懂的 | 欧美xxx在线观看 | 人人妻人人爽人人做夜欢视频 | 日韩一级片免费看 | 久久国产精品久久精品国产 | 3级黄色片 | a级片在线观看 | 国产动作大片中文字幕 | 99在线观看视频 | 日韩一区二区免费视频 | 亚洲成人生活片 | 国产精品婷婷久久久久久 | 欧美肥妇视频 | 免费asmr色诱娇喘呻吟外国 | 天天插天天插 | 99热这里只有精品1 99热这里只有精品2 | 久久久久久久人妻无码中文字幕爆 | 日日碰狠狠躁久久躁婷婷 | 久久91精品 | 亚洲国产精品区 | 日女人网站| 最新的中文字幕 | 黄色大片a级 | 免费一级做a爰片蜜桃 | 国产三级在线观看完整版 | 99热久久这里只精品国产www | 一本色道久久88加勒比—综合 | 午夜精品射精入后重之免费观看 | 免费黄色大片 | 国产高清一区二区 | 久久99精品久久久久久琪琪 | 爆乳2把你榨干哦ova在线观看 | 另类av在线 | 国产欧美做爰xxxⅹ在线观看 | 少妇网站在线观看 | 亚洲国产精品嫩草影院 | 男女做爰全过程69视频 | 国产精品一区二区性色av | 国产女人的高潮国语对白 | 精品国产一区二区三区2021 | 日韩中文字幕免费视频 | 日韩精品久久久久久免费 | 五月天激情开心网 | 亚洲天堂免费视频 | 国产精品久久久久一区二区 | 欧美成人乱码一区二区三区 | av小说免费在线观看 | 真实的国产乱xxxx在线 | 久久久www免费人成精品 | 精品国产91久久久久久久妲己 | 国产自偷自偷免费一区 | 91精品久久久久久久久久 | 97无人区码一码二码三码 | 日韩福利视频一区 | 国产成人精品无码短视频 | 亚洲一区二区在线视频观看 | 日日婷婷夜日日天干 | 亚欧美在线观看 | 亚洲精品永久在线观看 | 一级做a爰全过程免费视频毛片 | 免费精品久久 | 老熟女乱子伦 | 天天摸久久精品av | 毛片看看 | 国产在线黄色 | 性色av网址 | jlzzzjlzzz国产免费观看 | 日本免费高清一本视频 | 午夜伦理福利视频 | 欧美一级视频免费观看 | 999久久久精品 | 国产国拍精品亚洲 | 亚洲国产成人久久精品软件 | 国产在线欧美 | 性一交一乱一乱视频 | 亚洲精品黄色片 | 欧美三级韩国三级日本三斤 | 青青草激情视频 | 暖暖日本在线观看 | 中文成人无码精品久久久不卡 | 国产丰满麻豆videossexhd 无码少妇一区二区三区免费 | 美国一级大黄一片免费中文 | 久久国产欧美 | 欧美一级免费视频 | 久久精品麻豆 | av亚洲产国偷v产偷v自拍小说 | 性丰满白嫩白嫩的hp124 | 久久奸 | 国产乱妇无码大片在线观看 | 亚洲国产精品成人久久久麻豆 | 少妇献身老头系列 | 一区二区三区内射美女毛片 | 91视频青青草 | 亚洲精品999 | 校园春色 亚洲色图 | 中文无码人妻有码人妻中文字幕 | 欧美成人精品欧美一级 | 日本成人在线免费观看 | 日本亲与子乱人妻hd | 少妇性饥渴无码a区免费 | 性做久久久久久免费观看欧美 | 久久久影视文化传媒有限公司 | 人妻中文无码久热丝袜 | 亚洲麻豆一区 | 国产中文区二幕区2021 | 午夜精品久久久久久久四虎 | 成人免费高清视频 | 久久国产中文字幕 | 国产精品一区二区三区在线看 | 成x99人av在线www| 欧美女优在线观看 | 日本大胆裸体做爰视频 | 久久影音 | 欧美成欧美va | 欧美成人午夜精品久久久 | 欧美黄色大片免费观看 | 在线观看人成视频免费 | 国产一区日韩二区欧美三区 | 日韩在线免费观看av | 国产精品欧美久久久久一区二区 | 中文字幕日韩有码 | 亚洲精品久久久久国产 | 成人综合网址 | 91久久精品视频 | 国产成人无码综合亚洲日韩 | 一级作爱片 | 99热99在线| 九九视频在线观看 | 99精品久久久久久久久久综合 | 五月婷婷丁香在线 | 欧美精品91 | 欧美bbbbbbbbbbbb精品 | 2019日韩中文字幕mv | 国产免费爽爽视频 | 精品无码av无码免费专区 | 国产乱a视频在线 | 日韩人妻ol丝袜av一二区 | 中文字幕亚洲高清 | 婷婷情更久日本久久久片 |