久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

windbg 查看结构体_用WinDbg进行调试

發(fā)布時間:2024/10/5 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windbg 查看结构体_用WinDbg进行调试 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

通往WinDbg的捷徑(一)

windbg的使用詳細:

http://wenku.baidu.com/view/f576c31e650e52ea55189832.html

導言

你鐘情什么樣的調(diào)試器?如果你問我這個問題,我會回答是“Visual?Studio?+?WinDbg”。我比較喜歡Visual?Studio那樸實無華且易操作的接口,更喜歡它能迅速把我需要的信息以可視的形式展示出來。但遺憾的是,Visual?Studio調(diào)試器無法獲取某些信息。例如,假設(shè)我想知道哪個線程正在占用特殊的臨界區(qū)?或者是哪個函數(shù)占用了大部分的棧空間?不用擔心,有WinDbg呢。它的命令能回答這些問題,以及調(diào)試過程中出現(xiàn)的其它有趣的問題。甚至不退出Visual?Studio,WinDbg就可以附上目標應用程序――謝謝WinDbg支持入侵模式的調(diào)試(本文后面會詳細討論),我們可以把Visual?Studio?GUI和WinDbg的命令行結(jié)合起來使用。

唯一的問題是WinDbg不太好用。需要花些時間適應它的用戶界面,而掌握它的命令則要花更多的時間。但是假設(shè)你現(xiàn)在就需要它,馬上用它調(diào)試緊急的問題?有什么快速簡便的方法嗎?當然。WinDbg的小弟CDB,功能和WinDbg差不多;因為它是基于命令行的,所以用起來更簡單一些。在這篇文章里,我將把CDB作為Visual?Studio調(diào)試器的補充,介紹怎樣使用CDB。在這篇文章里,你將會看到怎樣配置CDB,怎樣用它解決實際的問題。另外,我還會提供一些批處理文件,它們可以隱藏CDB命令行接口的大部分復雜性,也讓你少打幾個字。

安裝與配置

安裝

當然,在使用CDB前,必須先安裝并配置它。WinDbg和CDB是Debugging?Tools?for?Windows的一部分,可以從這里下載。安裝很簡單,你可以用默認設(shè)置安裝,除非你準備用WinDbg?SDK開發(fā)應用程序。(如果你準備用SDK,需要選擇定制安裝,并啟用SDK安裝;推薦你把它安裝在不包含空格的目錄名的目錄中)。安裝完成后,安裝目錄里將包含所有必需的文件,包括WinDbg(windbg.exe)和CDB(cdb.exe)。

調(diào)試工具也支持“xcopy”類型的安裝。也就是說,在一臺機器上安裝后,如果你想在其它的機器上使用,不用再安裝,直接把已經(jīng)安裝的目錄直接拷過去就行了。

符號文件服務器路徑

如果不能訪問操作系統(tǒng)DLL的最新的符號文件,有些重要的WinDbg命令將不能正常工作。在以往,我們可以從微軟的FTP服務器上下載巨大的符號文件包,然后從中找出需要的符號文件。這非常浪費時間,而且在操作系統(tǒng)更新或升級后,符號文件就過時了(因此也就變得毫無用處)。幸運的是,現(xiàn)在有更簡便的方法來獲得符號文件――符號文件服務器。WinDbg和Visual?Studio都支持這個方法,在需要時直接從微軟維護的服務上下載最新的符號文件。有了符號文件服務器,我們再也不用下載整個符號文件包了(那實在是太大了),因為調(diào)試器知道需要用到哪個DLLs,所以直接下載單個符號文件就行了。如果符號文件在操作系統(tǒng)更新或升級以后過時了,調(diào)試器會注意到這種情形,并再次下載必需的符號文件。

為了使符號文件服務器起作用,我們應該讓調(diào)試器知道符號文件服務器的路徑。最簡單的方法是在_NT_SYMBOL_PATH環(huán)境變量里指定符號文件服務器的路徑。可以用如下的路徑:

"srv*c:\symbolcache*http://msdl.microsoft.com/download/symbols"

(c:\symbolcache目錄將被用來保存從符號文件服務器下載下來的符號文件;當然,你可以用任何有效的本地或網(wǎng)絡(luò)路徑)。例如:

set?_NT_SYMBOL_PATH=srv*c:\symbols*http://msdl.microsoft.com/download/symbols

在你設(shè)置_NT_SYMBOL_PATH環(huán)境變量之后,就可以使用符號文件服務器了。關(guān)于符號文件服務器的更多信息,相關(guān)設(shè)置,以及可能會用到的排除故障的小技巧,可以從WinDbg的文檔中找到(Debuggers?|?Symbols?section)。

如果你需要從一臺需登錄的代理服務器后訪問符號文件服務器。參見本篇文章中CDB?and?proxy?servers部分,以了解更多信息。

CDB?命令行基礎(chǔ)介紹

啟動調(diào)試會話

當我們使用新的調(diào)試器時,第一個問題通常是:怎樣開始調(diào)試會話呢?像大多數(shù)調(diào)試器一樣,CDB允許我們調(diào)試應用程序的新實例,或者附上一個已經(jīng)運行的過程。啟動新實例就象下面一樣簡單:

cdb?c:\myapp.exe

如果我們想附上已經(jīng)運行的過程,可能會用上下列某個選項:

----------------------------------------------------------------------------------------------------------------------

選項????????????????描述????????????????????????????????????????????????????????????????????????????例子

----------------------------------------------------------------------------------------------------------------------

-p?Pid??????????????這個選項允許CDB附上指定進程ID的進程。可以用任務管理器或類似的工具得到進程ID。???cdb?-p?1034

----------------------------------------------------------------------------------------------------------------------

-pn?ExeName?????????這個選項允許CDB用指定的可執(zhí)行文件名(.exe)附上進程。這個選項比“-p?Pid”更

方便,因為我們通常知道執(zhí)行的程序名,不必在任務管理器中尋找進程的ID。但是如果

多個進程使用同一個名字(CDB將報錯),就不能用這個選項了。???????????????????????cdb?-pn?myapp.exe

----------------------------------------------------------------------------------------------------------------------

-psn?ServiceName????這個選項允許CDB附上指定服務的進程。例如,假如你想附上Windows?Management

Instrumentation服務,應該用WinMgmt作為服務名。??????????????????????????????????cdb?-psn?MyService

----------------------------------------------------------------------------------------------------------------------

CDB也可以分析故障轉(zhuǎn)儲。用-z選項打開故障轉(zhuǎn)儲:

cdb?-z?DumpFile

例如:

cdb?-z?c:\myapp.dmp

結(jié)束調(diào)試會話

啟動新的調(diào)試會話后,CDB會顯示它自己的命令行提示符。你可以在這個提示符下執(zhí)行CDB支持的任何命令。

??

'q'命令結(jié)束調(diào)試會話并退出CDB:

0:000>?q

quit:

>

警告:當你結(jié)束調(diào)試會話,退出CDB時,操作系統(tǒng)也將終止被調(diào)試的程序。如果你想退出CDB并保持被調(diào)試程序,可以用.detach命令(Windows?XP或更新的操作系統(tǒng)才支持),或者用非入侵的模式(下面討論)。

運行命令

雖然可以在CDB命令行提示符下執(zhí)行調(diào)試器命令,但在命令行里指定需要的命令通常更快一些,用-c選項。

cdb?-pn?myapp.exe?-c?"command1;command2"

(用分號分隔多個命令)

例如,下列命令行將把CDB附上我們的應用程序,顯示已加載的模塊,然后退出:

cdb?-pn?myapp.exe?-c?"lm;q"

注意,在命令列表的結(jié)尾加上'q'命令――將在所有的調(diào)試器命令執(zhí)行后關(guān)閉CDB。

入侵模式調(diào)試

在默認情況下,當我們用CDB調(diào)試一個已經(jīng)運行的進程時,它通常作為全功能的調(diào)試器附上進程(使用Win32?Debugging?API)。在這種模式下,可以設(shè)置斷點,單步調(diào)試代碼,得到各種調(diào)試事件的通知(例如,異常,加載/卸載模塊,啟動/退出線程,等等)。Visual?Studio也可以做到這些,并提供更友好的用戶界面。另外,每個進程每次只能被一個調(diào)試器附上。這是否意味著如果我們用Visual?Studio調(diào)試器調(diào)試應用程序,就不能再用CDB得到它的附加信息了?不,不完全是這樣,因為除了全功能調(diào)試模式外,CDB還支持入侵調(diào)試模式。

CDB以入侵模式附上目標進程時,并沒有使用Win32?Debugging?API,而是先暫停目標進程的所有線程,執(zhí)行用戶指定的命令。在所有的命令執(zhí)行之后,CDB退出之前,恢復暫停的線程。因此,目標進程可以繼續(xù)運行,好像什么事也沒發(fā)生一樣。即使像Visual?Studio之類的全功能調(diào)試器正在調(diào)試目標進程,CDB仍可以用入侵模式附上它,并獲得所需要的信息。在CDB完成任務并分離附上的進程后,我們可以繼續(xù)用Visual?Studio調(diào)試器調(diào)試這個應用程序。

怎么啟用CDB的入侵模式?用-pv命令行選項。例如,下列命令行將以入侵模式附上應用程序,顯示已加載模塊的列表,然后退出。在CDB退出之后,應用程序?qū)⒗^續(xù)運行。

cdb?-pv?-pn?myapp.exe?-c?"lm;q"

把輸出內(nèi)容保存到日志文件

有些CDB命令的輸出內(nèi)容可能會很長,從控制臺窗口閱讀十分不便。因此,把輸出內(nèi)容保存到日志文件,再用其它的編輯器查看會更好一些,CDB允許我們用-loga和-logo選項來實現(xiàn)('-loga?'把輸出內(nèi)容追加到指定文件的結(jié)尾;而'-logo?'將覆蓋原有的文件,如果文件已經(jīng)存在的話)。

在我們的例子命令(列出目標進程里的模塊)里增加記錄功能,把輸出內(nèi)容保存到當前目錄的out.txt文件里:

cdb?-pv?-pn?myapp.exe?-logo?out.txt?-c?"lm;q"

源行號信息

CDB支持的另外一個重要選項是-lines。這個選項打開源行號信息支持,例如,當報告調(diào)用棧時,允許CDB顯示源文件及源行號。(在默認情況下,源行號支持是關(guān)閉的,CDB不顯示源文件/行號信息)。

CDB?和代理服務器

如果你在需要登錄的代理服務器后用CDB,在默認情況下,將不能訪問符號文件服務器。原因是在默認配置下,當CDB嘗試連接符號文件服務器時,不顯示代理服務器的登錄提示。為了更改這個行為,使我們可以訪問符號文件服務器,需要在命令行之前加上兩條命令:

!sym?prompts;.reload

例如:

cdb?-pv?-pn?myapp.exe?-logo?out.txt?-c?"!sym?prompts;.reload;lm;q"

啟動消息

當CDB調(diào)試新應用程序,附上已經(jīng)存在的進程,或打開故障轉(zhuǎn)儲時,將顯示一系列的啟動消息。CBD命令(可以用-c選項指定,或手動輸入)的輸出內(nèi)容跟在這些消息之后。通常情況下,啟動消息只顯示一些無關(guān)緊要信息;但是如果在執(zhí)行時出錯了,它將包含這個問題的描述,有時候也會提供解決方法。

例如,下列輸出內(nèi)容通知我們沒有設(shè)置符號路徑,因此,有些調(diào)試器命令不能工作:

D:\Progs\DbgTools>cdb?myapp.exe

Microsoft?(R)?Windows?Debugger??Version?6.5.0003.7

Copyright?(c)?Microsoft?Corporation.?All?rights?reserved.

CommandLine:?myapp.exe

Symbol?search?path?is:?***?Invalid?***

****************************************************************************

*?Symbol?loading?may?be?unreliable?without?a?symbol?search?path.???????????*

*?Use?.symfix?to?have?the?debugger?choose?a?symbol?path.???????????????????*

*?After?setting?your?symbol?path,?use?.reload?to?refresh?symbol?locations.?*

****************************************************************************

總結(jié)

這里是一些常見的CDB命令行模板,本篇文章的剩下部分將會用到它們(我們總是用同樣的模板,然后根據(jù)我們要解決的問題,改變-c選項內(nèi)部的命令行列表)。

用入侵模式附上運行的進程(通常是進程ID),執(zhí)行一組命令,并把輸出內(nèi)容保存在out.txt文件里:

cdb?-pv?-p?-logo?out.txt?-lines?-c?"command1;command2;...;commandN;q"

用入侵模式附上運行的進程(用可執(zhí)行文件名),執(zhí)行一組命令,并把輸出內(nèi)容保存在out.txt文件里:

cdb?-pv?-pn?-logo?out.txt?-lines?-c?"command1;command2;...;commandN;q"

用入侵模式附上運行的進程(通常是服務名),執(zhí)行一組命令,并把輸出內(nèi)容保存在out.txt文件里:

cdb?-pv?-psn?-logo?out.txt?-lines?-c?"command1;command2;...;commandN;q"

打開故障轉(zhuǎn)儲文件,執(zhí)行一組命令,并把輸出內(nèi)容保存在out.txt文件里:

cdb?-z?-logo?out.txt?-lines?-c?"command1;command2;...;commandN;q"

如果我們在需要登錄的代理服務器后使用CDB,要訪問符號文件服務器,需要增加兩條命令。例如:

cdb?-pv?-pn?-logo?out.txt?-lines?-c?"!sym?prompts;.reload;command1;command2;...;commandN;q"

好像要打好多字?其實不是這樣,稍后,我將提供一些批處理文件,它們將為我們隱藏重復的命令行選項,把要我們輸入的內(nèi)容減至最小。

解決實際的問題

調(diào)試死鎖問題

當我們的應用程序掛起或停止響應時,最自然的問題是:它現(xiàn)在正在做什么?它在哪里被困住了?當然,我們可以用Visual?Studio調(diào)試器附上應用程序,檢查所有線程的調(diào)用棧。但我們同樣可以用CDB,而且會更快一些。下列命令將使CDB以入侵模式附上應用程序,打印所有的調(diào)用棧,把結(jié)果保存在日志文件里,然后退出:

cdb?-pv?-pn?myapp.exe?-logo?out.txt?-lines?-c?"~*kb;q"

('kb'命令要求CDB打印當前線程的調(diào)用棧;'~*'前綴要求CDB在進程所有已存在的線程里重復執(zhí)行'kb'命令)。

[/URL]?DeadLockDemo.cpp是一個演示典型的死鎖問題的例子。如果你編譯并運行,它的工作線程馬上會被困住,如果我們運行上述的命令來查看應用程序的線程正在做什么,將看到下列類似的內(nèi)容(在這,以及后面,我們將省略啟動消息):

.??0??Id:?6fc.4fc?Suspend:?1?Teb:?7ffdf000?Unfrozen

ChildEBP?RetAddr??Args?to?Child

0012fdf8?7c90d85c?7c8023ed?00000000?0012fe2c?ntdll!KiFastSystemCallRet

0012fdfc?7c8023ed?00000000?0012fe2c?0012ff54?ntdll!NtDelayExecution+0xc

0012fe54?7c802451?0036ee80?00000000?0012ff54?kernel32!SleepEx+0x61

0012fe64?004308a9?0036ee80?a0f63080?01c63442?kernel32!Sleep+0xf

0012ff54?00432342?00000001?003336e8?003337c8?DeadLockDemo!wmain+0xd9

[c:\tests\deadlockdemo\deadlockdemo.cpp?@?154]

0012ffb8?004320fd?0012fff0?7c816d4f?a0f63080?DeadLockDemo!__tmainCRTStartup+0x232

[f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c?@?318]

0012ffc0?7c816d4f?a0f63080?01c63442?7ffdd000?DeadLockDemo!wmainCRTStartup+0xd

[f:\rtm\vctools\crt_bld\self_x86\crt\src\crt0.c?@?187]

0012fff0?00000000?0042e5aa?00000000?78746341?kernel32!BaseProcessStart+0x23

1??Id:?6fc.3d8?Suspend:?1?Teb:?7ffde000?Unfrozen

ChildEBP?RetAddr??Args?to?Child

005afc14?7c90e9c0?7c91901b?000007d4?00000000?ntdll!KiFastSystemCallRet

005afc18?7c91901b?000007d4?00000000?00000000?ntdll!ZwWaitForSingleObject+0xc

005afca0?7c90104b?004a0638?00430b7f?004a0638?ntdll!RtlpWaitForCriticalSection+0x132

005afca8?00430b7f?004a0638?005afe6c?005afe78?ntdll!RtlEnterCriticalSection+0x46

005afd8c?00430b15?005aff60?005afe78?003330a0?DeadLockDemo!CCriticalSection::Lock+0x2f

[c:\tests\deadlockdemo\deadlockdemo.cpp?@?62]

005afe6c?004309f1?004a0638?f3d065d5?00334fc8?DeadLockDemo!CCritSecLock::CCritSecLock+0x35

[c:\tests\deadlockdemo\deadlockdemo.cpp?@?90]

005aff6c?004311b1?00000000?f3d06511?00334fc8?DeadLockDemo!ThreadOne+0xa1

[c:\tests\deadlockdemo\deadlockdemo.cpp?@?182]

005affa8?00431122?00000000?005affec?7c80b50b?DeadLockDemo!_callthreadstartex+0x51

[f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c?@?348]

005affb4?7c80b50b?003330a0?00334fc8?00330001?DeadLockDemo!_threadstartex+0xa2

[f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c?@?331]

005affec?00000000?00431080?003330a0?00000000?kernel32!BaseThreadStart+0x37

2??Id:?6fc.284?Suspend:?1?Teb:?7ffdc000?Unfrozen

ChildEBP?RetAddr??Args?to?Child

006afc14?7c90e9c0?7c91901b?000007d8?00000000?ntdll!KiFastSystemCallRet

006afc18?7c91901b?000007d8?00000000?00000000?ntdll!ZwWaitForSingleObject+0xc

006afca0?7c90104b?004a0620?00430b7f?004a0620?ntdll!RtlpWaitForCriticalSection+0x132

006afca8?00430b7f?004a0620?006afe6c?006afe78?ntdll!RtlEnterCriticalSection+0x46

006afd8c?00430b15?006aff60?006afe78?003332e0?DeadLockDemo!CCriticalSection::Lock+0x2f

[c:\tests\deadlockdemo\deadlockdemo.cpp?@?62]

006afe6c?00430d11?004a0620?f3e065d5?00334fc8?DeadLockDemo!CCritSecLock::CCritSecLock+0x35

[c:\tests\deadlockdemo\deadlockdemo.cpp?@?90]

006aff6c?004311b1?00000000?f3e06511?00334fc8?DeadLockDemo!ThreadTwo+0xa1

[c:\tests\deadlockdemo\deadlockdemo.cpp?@?202]

006affa8?00431122?00000000?006affec?7c80b50b?DeadLockDemo!_callthreadstartex+0x51

[f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c?@?348]

006affb4?7c80b50b?003332e0?00334fc8?00330001?DeadLockDemo!_threadstartex+0xa2

[f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c?@?331]

006affec?00000000?00431080?003332e0?00000000?kernel32!BaseThreadStart+0x37

調(diào)用棧(和源行號)暗示ThreadOne正在占用臨界區(qū)CritSecOne并等待臨界區(qū)CritSecTwo,然而ThreadTwo正占用臨界區(qū)CritSecTwo并等待臨界區(qū)CritSecOne。這是典型的“l(fā)ock?acquisition?order”死鎖例子,在那里,兩個線程需要得到同一組同步的對象,以不同的順序使用。如果你想避免這種類型的死鎖,必須保證所有的線程以相同的順序得到所需的同步對象(在這個例子里,ThreadOne和ThreadTwo能同意首先得到CritSecOne,然后得到CritSecTwo來避免死鎖)。

在默認情況下,'kb'命令只顯示調(diào)用棧的前20幀。如果你想查看更多的棧幀,你可以顯式指明顯示的棧幀數(shù)量(例如,'kb100'命令要求調(diào)試器顯示100幀)。在WinDbg會話里,可以用.kframes命令改變隨后命令的默認限制。

我們的例子只包含了三個簡單的線程,很容易看出哪個線程應該為死鎖負責。在大應用程序里,很難找出可疑的線程并進行驗證。那我們應該怎么做呢?在大部分情況下,我們應該知道那個沒有正常運轉(zhuǎn)的線程(否則,我們怎么會注意到應用程序出現(xiàn)異常了呢?)。通常,這個線程是在等待同步對象,這個對象因為某些原因暫時不可用。這個對象為什么不可用呢?如果我們知道哪個線程正在占用這個對象(擁有它,換句話說),應該能答出這個問題。如果這個對象碰巧在臨界區(qū),!locks命令應該能幫助我們識別出它的當前所有者。當不帶參數(shù)使用時,這條命令顯示應用程序線程正在占用的臨界區(qū)的列表。輸出的內(nèi)容不包括已釋放的臨界區(qū)。

讓我看看實際使用中的!locks命令:

cdb?-pv?-pn?myapp.exe?-logo?out.txt?-lines?-c?"!locks;q"

下面是這條命令的輸出內(nèi)容(同樣以DeadLockDemo.cpp為例):

CritSec?DeadLockDemo!CritSecOne+0?at?004A0620

LockCount??????????1

RecursionCount?????1

OwningThread???????3d8

EntryCount?????????1

ContentionCount????1

***?Locked

CritSec?DeadLockDemo!CritSecTwo+0?at?004A0638

LockCount??????????1

RecursionCount?????1

OwningThread???????284

EntryCount?????????1

ContentionCount????1

***?Locked

仔細查看了40個臨界區(qū)

查看!locks命令的輸出(尤其是OwningThread字段),我們可以推斷出臨界區(qū)CritSecOne被ID為0x3d8的線程占用,臨界區(qū)CritSecTwo被ID為0x284的線程占用。我們可以在'kb'命令的輸出內(nèi)容(在前面的輸出里)里找出這些IDs對應的線程。

如果應用程序使用其它種類的同步對象(例如,互斥),識別它們的所有者將更難一些(需要內(nèi)核調(diào)試器),我準備在以后的文章中再介紹這部分內(nèi)容。

調(diào)試CPU高消耗的問題

對大多數(shù)軟件來說,太高的CPU消耗率(根據(jù)任務管理器的顯示,在單CPU上接近100%)明顯指出軟件中有bug。通常意味著應用程序的某個線程陷入了死循環(huán)。當然,調(diào)試這個問題的、最普通的方法是用Visual?Studio調(diào)試器附上這個進程,查找哪個線程在搗亂。但是我們應該檢查哪個線程呢?CDB為我們提供了簡便的方法――!runaway命令。當不帶參數(shù)使用時,這條命令顯示應用程序每個線程執(zhí)行用戶模式代碼時所花的時間(使用另外的參數(shù),可以顯示在內(nèi)核模式下所花的時間,自線程啟動后占用的時間等)。

如下是在CDB下使用這條命令的示例:

cdb?-pv?-pn?myapp.exe?-logo?out.txt?-c?"!runaway;q"

下面是!runaway命令的輸出示例:

0:000>?!runaway

User?Mode?Time

Thread???????Time

1:358???????0?days?0:00:47.408

2:150???????0?days?0:00:03.495

0:d8????????0?days?0:00:00.000

看起來好像是ID為0x358的線程占用了大部分的CPU時間。但這個消息還不足以證明線程0x358就是罪魁禍首,因為這條命令顯示的CPU時間是線程在它整個生命期中所花的。我們還需要進一步查看線程所用CPU時間的變化情況。讓我們再次運行這條命令。這次,我們可以看到類似于下列的內(nèi)容:

0:000>?!runaway

User?Mode?Time

Thread???????Time

1:358???????0?days?0:00:47.408

2:150???????0?days?0:00:06.859

0:d8????????0?days?0:00:00.000

現(xiàn)在,我們可以把這個輸出內(nèi)容與上次的輸出內(nèi)容做個比較,找出CPU時間增長最快的線程。在這個例子里,很明顯就是線程0x150。現(xiàn)在,我們可以用Visual?Studio調(diào)試器附上這個應用程序,切換到這個線程下,檢查它為什么轉(zhuǎn)個不停。

調(diào)試棧溢出

當我們想找出棧溢出異常的原因時,CDB也非常有幫助。當然,無控制的遞歸調(diào)用是棧溢出最典型的原因,通常來說,查看損壞了的線程的調(diào)用棧,找出它從哪里脫離控制就可以了。Visual?Studio在這方面可以做的很好,那為什么還要用CDB呢?讓我們設(shè)想一個更復雜的例子。例如,假設(shè)我們的應用程序中包含一個依賴遞歸的算法?我們在設(shè)計算法時使用有符號數(shù),在所有可能的情形下控制遞歸的運行,但某個時候棧仍溢出了。為什么?或許是因為在某種情況下,算法使用的某些函數(shù)占用了太多的棧空間。我們怎么確定函數(shù)占用的總的棧空間呢?不幸地是,Visual?Studio調(diào)試器沒有簡便的方法可以做到。

即使調(diào)用棧沒有顯示任何遞歸的跡象時,應用程序也可能會出現(xiàn)棧溢出異常。例如,查看StackOvfDemo.cpp例子。如果你編譯,并在調(diào)試器下運行它,將立刻出現(xiàn)棧溢出。但此刻的調(diào)用棧看起來一切正常:

StackOvfDemo.exe!_woutput

StackOvfDemo.exe!wprintf

StackOvfDemo.exe!ProcessStringW

StackOvfDemo.exe!ProcessStrings

StackOvfDemo.exe!main

StackOvfDemo.exe!mainCRTStartup

KERNEL32.DLL!_BaseProcessStart@4

顯然,調(diào)用棧上的某個函數(shù)使用了太多的棧空間。但是我們怎么找出這個函數(shù)呢?不用擔心,有了CDB的'kf'命令的幫助,可以顯示每個函數(shù)在調(diào)用棧上占用的字節(jié)數(shù)。在應用程序還停在Visual?Studio調(diào)試器里的時候,我們可以運行下列命令:

cdb?-pv?-pn?stackovfdemo.exe?-logo?out.txt?-c?"~*kf;q"

('kf'默認顯示調(diào)用棧上最后的20幀,像我們在“調(diào)試死鎖問題”部分討論的那樣。如果你想多顯示一些,可以增加前綴,例如,~*kf1000。另外要注意的是,~*kf將報告所有線程的調(diào)用棧。如果應用包含大量的線程,它就不太適合了,這時,可以把它改成'~~[tid]kf',?'tid'是目標線程的線程ID(例如,'~~[0x3a8]kf'))

這條命令顯示的內(nèi)容如下:

.??0??Id:?210.3a8?Suspend:?1?Teb:?7ffde000?Unfrozen

Memory??ChildEBP?RetAddr

00033440?0041aca5?StackOvfDemo!_woutput+0x22

44?00033484?00415eed?StackOvfDemo!wprintf+0x85

d8?0003355c?00415cc5?StackOvfDemo!ProcessStringW+0x2d

fc878?0012fdd4?00415a44?StackOvfDemo!ProcessStrings+0xe5

108?0012fedc?0041c043?StackOvfDemo!main+0x64

e4?0012ffc0?7c4e87f5?StackOvfDemo!mainCRTStartup+0x183

30?0012fff0?00000000?KERNEL32!BaseProcessStart+0x3d

注意第一列的內(nèi)容――它報告棧上函數(shù)所占用的字節(jié)數(shù)。很顯然,ProcessStrings函數(shù)用了可用棧空間的最大份額,因此,它可能要為棧溢出負責。

如果你想知道ProcessStrings函數(shù)為什么需要如此多的棧空間,這里有一些解釋。這個函數(shù)使用ATL的A2W宏把字符串從ANSI格式轉(zhuǎn)換成Unicode格式,這個宏在內(nèi)部用_alloca函數(shù)在棧上分配內(nèi)存。用_alloca分配的內(nèi)存只有當它的調(diào)用者(在這個例子里是ProcessStrings)返回后才被釋放。直到ProcessStrings返回控制之前,A2W(因此,也就是_alloca)在棧上為每個后續(xù)的調(diào)用分配另外的空間,這將迅速耗盡棧空間。

底線:不要在循環(huán)里使用_alloca。

標 題:翻譯:通往WinDbg的捷徑(二)

翻 譯:arhat

時 間:2006-04-14 22:54

鏈 接:詳細信息:

通往WinDbg的捷徑(二)

原文:http://www.debuginfo.com/articles/easywindbg2.html

譯者:arhat

時間:2006年4月14日

關(guān)鍵詞:CDB?WinDbg

保存?dumps

在我們調(diào)試不容易重現(xiàn)的問題時,可能想把應用程序狀態(tài)的快照(內(nèi)存內(nèi)容,打開名柄的列表,等等)保存起來,以便日后分析。例如,當我懷疑當前的狀態(tài)可能包含我試圖解決的問題的關(guān)鍵點,而想繼續(xù)運行應用程序來查看情形怎樣發(fā)展時,它就很有用了。有時候,我會做一系列的快照,一個接一個,以便稍后我能比較它們,查看在應用程序運行時有些數(shù)據(jù)結(jié)構(gòu)怎樣變化。當我最終能重現(xiàn)這個問題時,我總是創(chuàng)建一個快照來確保我沒有因為某些錯誤(錯誤關(guān)閉了調(diào)試會話)而丟失有價值的信息。或許,大家不難猜到當我說“快照”時,我真正的意思是“minidump”,因為minidump為隨時保存應用程序的狀態(tài)提供了便利。

下面是創(chuàng)建minidump的命令行示例:

cdb?-pv?-pn?myapp.exe?-c?".dump?/m?c:\myapp.dmp;q"

讓我們仔細看一下.dump命令。在上面的例子里,我們只用到這條命令的一個選項(/m),后面跟著minidump的文件名。用/m來指定minidump里應當包括哪種信息。最重要的(依我之見)/m選項的變量列在下表中:

---------------------------------------------------------------------------------------------------------------------------

選項??????描述??????????????????????????????????????????????????????????????????????????????????????????????例子

---------------------------------------------------------------------------------------------------------------------------

/m????????默認就是這個選項。它創(chuàng)建標準的minidump,等同于MiniDumpNormal?minidump類型。由此生成的minidump

一般很小,因此,如果你想通過慢速的網(wǎng)絡(luò)傳輸minidump,那么這個選項非常有用。但不幸地是,小體積的

minidump也意味著在大多數(shù)情況下,它包含的信息不足以進行完整的分析(你可以在這篇文章里找到更多有

關(guān)minidump內(nèi)容的信息)。?????????????????????????????????????????????????????????????????????dump?/m?c:\myapp.dmp

---------------------------------------------------------------------------------------------------------------------------

/ma???????帶所有可選項的Minidump(完整的內(nèi)存內(nèi)容,名柄,已卸載的模塊,等等),由此生成的minidump將非常

大。如果可以隨意使用磁盤空間,這個選項將非常適合本地調(diào)試。???????????????????????????????.dump?/ma?c:\myapp.dmp

---------------------------------------------------------------------------------------------------------------------------

/mFhutwd??這個選項將生成帶數(shù)據(jù)段,非共享讀/寫內(nèi)存頁和其它有用信息的minidump。如果你想盡可能的收集信息,

但仍想使minidump保持小體積(并壓縮),就可以用這個選項。????????????????????????????????.dump?/mFhutwd?c:\myapp.dmp

---------------------------------------------------------------------------------------------------------------------------

下面的命令生成包含所有信息的minidump:

cdb?-pv?-pn?myapp.exe?-c?".dump?/ma?c:\myapp.dmp;q"

如果我們想生成一個新minidump,并覆蓋已有的,該怎么辦呢?在默認情況下,.dump命令不允許這樣做――它會抱怨文件已經(jīng)存在。為了改變默認行為,覆蓋已存在的.dump文件,我們可以用/o選項:

cdb?-pv?-pn?myapp.exe?-c?".dump?/ma?/o?c:\myapp.dmp;q"

如果我們想生成一系列的minidump,一個接一個,那么它能很方便的為minidump命名,并使文件名反映生成minidump時的時間嗎。嗯,如果我們指定了/u選項,.dump命令就可以自動為我們這樣做,這真是一個好消息,不是嗎?例如,下面的命令可以生成名為myapp_02CC_2006-01-28_04-11-18-171_0158.dmp的minidump(0158是進程ID):

cdb?-pv?-pn?myapp.exe?-c?".dump?/m?/u?c:\myapp.dmp;q"

.dump命令也支持其它有趣的選項(你可以在文檔里發(fā)現(xiàn)它們)。

如果你想生成運行在Visual?Studio調(diào)試器下的進程的minidump,我建議在生成dump前,先在Visual?Studio里臨時禁用所有的斷點。如果沒有禁用斷點,生成的minidump將包含Visual?Studio調(diào)試器插入目標進程代碼里的斷點指令(int?3)。

分析故障轉(zhuǎn)儲

CDB也可以用于自動分析故障轉(zhuǎn)儲。當我們分析故障轉(zhuǎn)儲時,通常會執(zhí)行同樣的操作,所以可以把這些操作自動化。什么樣的操作呢?這要看故障轉(zhuǎn)儲的類型。我把所有的故障轉(zhuǎn)儲分成兩大類:

???帶異常信息的故障轉(zhuǎn)儲

???不帶異常信息的故障轉(zhuǎn)儲

當應用程序引發(fā)未經(jīng)處理的異常并調(diào)用just-in-time調(diào)試器(Dr.?Watson,NTSD??,?或其它的調(diào)試器),或者用為未經(jīng)處理的異常定制的過濾器?生成minidump時,通常會生成帶異常信息的故障轉(zhuǎn)儲。通過寫入故障轉(zhuǎn)儲里的異常信息,我們可以確定異常的類型和發(fā)生時它在代碼里的位置。當我們想為以后的分析生成進程的快照時(例如,這方面的描述參見本文的前一部分“保存dumps”),通常手動生成不帶異常信息的故障轉(zhuǎn)儲。

當我們調(diào)試帶異常信息的故障轉(zhuǎn)儲時,通常想知道下面這些信息:

???異常在代碼中出現(xiàn)的位置(地址,源文件和行號)

???異常發(fā)生時的調(diào)用棧

???調(diào)用棧上一些或所有函數(shù)的參數(shù)值和局部變量

WinDbg和CDB為調(diào)試故障轉(zhuǎn)儲提供了非常有用的命令――!analyze。這條命令分析故障轉(zhuǎn)儲里的異常信息,確定異常發(fā)生的位置,調(diào)用棧,并顯示詳細的報告。下面是這條命令的示例:

cdb?-z?c:\myapp.dmp?-logo?out.txt?-lines?-c?"!analyze?-v;q"

(-v選項要求!analyze輸出詳細的內(nèi)容)

CrashDemo.cpp?例子演示了怎樣用定制的過濾器捕獲未經(jīng)處理的異常并生成minidumps。如果你編譯并運行它,然后用上述的CDB命令分析生成的minidump,你將可以得到和下面類似的輸出內(nèi)容:

0:001>?!analyze?-v

*******************************************************************************

*?????????????????????????????????????????????????????????????????????????????*

*????????????????????????Exception?Analysis???????????????????????????????????*

*?????????????????????????????????????????????????????????????????????????????*

*******************************************************************************

FAULTING_IP:

CrashDemo!TestFunc+2e?[c:\tests\crashdemo\crashdemo.cpp?@?124]

004309de?c70000000000?????mov?????dword?ptr?[eax],0x0

EXCEPTION_RECORD:??ffffffff?--?(.exr?ffffffffffffffff)

.exr?ffffffffffffffff

ExceptionAddress:?004309de?(CrashDemo!TestFunc+0x0000002e)

ExceptionCode:?c0000005?(Access?violation)

ExceptionFlags:?00000000

NumberParameters:?2

Parameter[0]:?00000001

Parameter[1]:?00000000

Attempt?to?write?to?address?00000000

DEFAULT_BUCKET_ID:??APPLICATION_FAULT

PROCESS_NAME:??CrashDemo.exe

ERROR_CODE:?(NTSTATUS)?0xc0000005?-?The?instruction?at?"0x%08lx"?referenced?memory

at?"0x%08lx".?The?memory?could?not?be?"%s".

WRITE_ADDRESS:??00000000

BUGCHECK_STR:??ACCESS_VIOLATION

LAST_CONTROL_TRANSFER:??from?0043096e?to?004309de

STACK_TEXT:

006afe88?0043096e?00000000?00354130?00350001?CrashDemo!TestFunc+0x2e

[c:\tests\crashdemo\crashdemo.cpp?@?124]

006aff6c?00430f31?00000000?52319518?00354130?CrashDemo!WorkerThread+0x5e

[c:\tests\crashdemo\crashdemo.cpp?@?115]

006affa8?00430ea2?00000000?006affec?7c80b50b?CrashDemo!_callthreadstartex+0x51

[f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c?@?348]

006affb4?7c80b50b?00355188?00354130?00350001?CrashDemo!_threadstartex+0xa2

[f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c?@?331]

006affec?00000000?00430e00?00355188?00000000?kernel32!BaseThreadStart+0x37

FOLLOWUP_IP:

CrashDemo!TestFunc+2e?[c:\tests\crashdemo\crashdemo.cpp?@?124]

004309de?c70000000000?????mov?????dword?ptr?[eax],0x0

SYMBOL_STACK_INDEX:??0

FOLLOWUP_NAME:??MachineOwner

SYMBOL_NAME:??CrashDemo!TestFunc+2e

MODULE_NAME:??CrashDemo

IMAGE_NAME:??CrashDemo.exe

DEBUG_FLR_IMAGE_TIMESTAMP:??43dc6ee7

STACK_COMMAND:??.ecxr?;?kb

FAILURE_BUCKET_ID:??ACCESS_VIOLATION_CrashDemo!TestFunc+2e

BUCKET_ID:??ACCESS_VIOLATION_CrashDemo!TestFunc+2e

Followup:?MachineOwner

---------

注意用粗體表示的內(nèi)容。第一處報告了異常的地址和類型。第二外報告調(diào)用棧。第三處為我們提供了怎樣訪問保存在故障轉(zhuǎn)儲里的異常信息的額外信息。

現(xiàn)在,我們知道異常發(fā)生的位置,甚至可以查看調(diào)用棧。那么,是得到函數(shù)的參數(shù)值及局部變量的時候了。在開始之前,讓我們注意!analyze報告中的第三處信息。這里再重復一下第三處所包含的內(nèi)容:

STACK_COMMAND:??.ecxr?;?kb

對'kb'命令我們已經(jīng)不陌生了(它顯示調(diào)用棧)。但.ecxr是什么?這條命令要求調(diào)試器把當前的內(nèi)容切換到保存在故障轉(zhuǎn)儲里的異常信息。我們執(zhí)行這條命令后,將能訪問異常拋出時調(diào)用棧和局部變量的值。

在我們要求調(diào)試使用異常的上下文后,我們可以用'dv'命令顯示函數(shù)的參數(shù)值以及局部變量。因為我們通常想查看調(diào)用棧上每一個函數(shù)的信息,因此,我們可以用'!for_each_frame?dv?/t'命令(/t選項要求'dv'顯示有用的類型信息)。(當然,我們必須記住,使用優(yōu)化編譯時,在函數(shù)的整個生存期中,局部變量有可能會被取消,重注冊或被重用來保存其它的數(shù)據(jù),因此,可能會導致'dv'命令輸出錯誤的值)。

下面是分析帶異常信息的故障轉(zhuǎn)儲的命令行示例:

cdb?-z?c:\myapp.dmp?-logo?out.txt?-lines?-c?"!analyze?-v;.ecxr;!for_each_frame?dv?/t;q"

下面是'!for_each_frame?dv?/t'命令輸出的例子:

_?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_

00?006afe88?0043096e?CrashDemo!TestFunc+0x2e?[c:\tests\crashdemo\crashdemo.cpp?@?124]

int?*?pParam?=?0x00000000

_?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_

01?006aff6c?00430f31?CrashDemo!WorkerThread+0x5e?[c:\tests\crashdemo\crashdemo.cpp?@?115]

void?*?lpParam?=?0x00000000

int?*?TempPtr?=?0x00000000

_?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_

02?006affa8?00430ea2?CrashDemo!_callthreadstartex+0x51

[f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c?@?348]

struct?_tiddata?*?ptd?=?0x00355188

_?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_

03?006affb4?7c80b50b?CrashDemo!_threadstartex+0xa2

[f:\rtm\vctools\crt_bld\self_x86\crt\src\threadex.c?@?331]

void?*?ptd?=?0x00355188

struct?_tiddata?*?_ptd?=?0x00000000

_?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_

04?006affec?00000000?kernel32!BaseThreadStart+0x37

Unable?to?enumerate?locals,?HRESULT?0x80004005

Private?symbols?(symbols.pri)?are?required?for?locals.

Type?".hh?dbgerr005"?for?details.

_?_?_?_?_?_?_?_?_?_?_?_?_?_?_?_

00?006afe88?0043096e?CrashDemo!TestFunc+0x2e?[c:\tests\crashdemo\crashdemo.cpp?@?124]

如果minidump沒有包括目標進程內(nèi)存的完整內(nèi)容,那么只有當調(diào)試器能正確發(fā)現(xiàn)被目標進程加載的、相同版本的可執(zhí)行模塊時,才能分析dump。在某些情形下,你必須幫助調(diào)試器定位這些模塊――通過指定模塊搜索路徑。關(guān)于模塊搜索路徑的詳細信息和相關(guān)內(nèi)容可以在這篇文章?中找到。

現(xiàn)在,我們來處理不帶異常信息的故障轉(zhuǎn)儲。當我們分析這樣的dump時,通常想知道所有線程的調(diào)用棧。下面是怎樣得到這些信息:

cdb?-z?c:\myapp.dmp?-logo?out.txt?-lines?-c?"~*kb;q"

如果我們不知道故障轉(zhuǎn)儲是否包含異常信息,該怎么做呢?對于minidumps來說,我們可以用MiniDumpView?打印dump的內(nèi)容,查看它里面是否包含異常信息。對于過時的'full?user?dumps',或許唯一的選擇是,照現(xiàn)在的樣子啟動包含異常信息的dump,并查看!analyze是否報告了有意義的內(nèi)容。

有一個有趣的特例――因為未經(jīng)處理的異常生成故障轉(zhuǎn)儲,但因為某些原因沒有包含異常信息是有可能的。在這種情形下,在下面過程的幫助下,仍可能找出異常發(fā)生的位置:

1.??打印所有線程的調(diào)用棧(用前面提過的CDB命令)。

2.??找出包含kernel32!UnhandledExceptionFilter函數(shù)調(diào)用棧的線程。

3.??使用UnhandledExceptionFilter?函數(shù)的第一個參數(shù)(包含一個指向EXCEPTION_POINTERS?結(jié)構(gòu)的指針)的實際值。

下面是EXCEPTION_POINTERS?結(jié)構(gòu)的聲明:

typedef?struct?_EXCEPTION_POINTERS

{

PEXCEPTION_RECORD?ExceptionRecord;

PCONTEXT?ContextRecord;

}?EXCEPTION_POINTERS,?*PEXCEPTION_POINTERS;

如果我們知道這個結(jié)構(gòu)的地址,就能得到指向異常上下文的指針(保存在ContextRecord字段里),把它傳遞給.cxr命令,從而把調(diào)試器上下文切換到異常發(fā)生的位置。在.cxr命令執(zhí)行后,我們可以用'kb'命令得到異常發(fā)生時的調(diào)用棧。下面是一個例子:

1.??打印所有線程的調(diào)用棧。

cdb?-z?c:\myapp.dmp?-logo?out.txt?-c?"~*kb;q"

0:000>?~*kb

.??0??Id:?6c4.73c?Suspend:?1?Teb:?7ffdf000?Unfrozen

ChildEBP?RetAddr??Args?to?Child

0012fdf8?7c90d85c?7c8023ed?00000000?0012fe2c?ntdll!KiFastSystemCallRet

0012fdfc?7c8023ed?00000000?0012fe2c?0012ff54?ntdll!NtDelayExecution+0xc

0012fe54?7c802451?0036ee80?00000000?0012ff54?kernel32!SleepEx+0x61

0012fe64?00430856?0036ee80?00330033?00300037?kernel32!Sleep+0xf

0012ff54?00431702?00000001?00352ed0?00352fb0?CrashDemo!wmain+0x96

0012ffb8?004314bd?0012fff0?7c816d4f?00330033?CrashDemo!__tmainCRTStartup+0x232

0012ffc0?7c816d4f?00330033?00300037?7ffd9000?CrashDemo!wmainCRTStartup+0xd

0012fff0?00000000?0042e5a5?00000000?00000000?kernel32!BaseProcessStart+0x23

1??Id:?6c4.5cc?Suspend:?1?Teb:?7ffde000?Unfrozen

ChildEBP?RetAddr??Args?to?Child

006af6e4?7c90e273?7c863130?d0000144?00000004?ntdll!KiFastSystemCallRet

006af6e8?7c863130?d0000144?00000004?00000000?ntdll!NtRaiseHardError+0xc

006af96c?00438951?006af9e0?5d343834?00000000?kernel32!UnhandledExceptionFilter+0x59c

006af990?00430f2a?c0000005?006af9e0?0044ad30?CrashDemo!_XcptFilter+0x61

006af99c?0044ad30?00000000?00000000?00000000?CrashDemo!_callthreadstartex+0x7a

006af9b0?00438c67?00430f13?0049a230?00000000?CrashDemo!_EH4_CallFilterFunc+0x12

006af9e8?7c9037bf?006afad4?006aff98?006afaf0?CrashDemo!_except_handler4+0xb7

006afa0c?7c90378b?006afad4?006aff98?006afaf0?ntdll!ExecuteHandler2+0x26

006afabc?7c90eafa?00000000?006afaf0?006afad4?ntdll!ExecuteHandler+0x24

006afabc?004309be?00000000?006afaf0?006afad4?ntdll!KiUserExceptionDispatcher+0xe

006afe88?0043094e?00000000?00354130?00350001?CrashDemo!TestFunc+0x2e

006aff6c?00430f01?00000000?647bff58?00354130?CrashDemo!WorkerThread+0x5e

006affa8?00430e72?00000000?006affec?7c80b50b?CrashDemo!_callthreadstartex+0x51

006affb4?7c80b50b?00355188?00354130?00350001?CrashDemo!_threadstartex+0xa2

006affec?00000000?00430dd0?00355188?00000000?kernel32!BaseThreadStart+0x37

2.??改變調(diào)試器的上下文,得到異常的調(diào)用棧。

cdb?-z?c:\myapp.dmp?-logo?out.txt?-lines?-c?".cxr?dwo(0x006af9e0+4);kb;q"

('dwo'操作符返回保存在指定地址里的double?word,并把它傳遞給.cxr命令)

本篇文章后面提供的批處理文件(實際上是DumpStackCtx.bat)將簡化這個任務。

還有另外的方法可以解決這個問題――你可以在這里?找到更多的信息。

分析虛擬內(nèi)存

當我們想審查被調(diào)試進程的虛擬內(nèi)存布局時,CDB可以協(xié)助Visual?Studio調(diào)試器。下面的命令顯示進程完整的虛擬內(nèi)存映射:

cdb?-pv?-pn?myapp.exe?-logo?out.txt?-c?"!vadump?-v;q"

(!vadump命令負責打印虛擬內(nèi)存映射,照常,用-v選項要求它顯示詳細的內(nèi)容)

下面是!vadump輸出的例子:

BaseAddress:???????00040000

AllocationBase:????00040000

AllocationProtect:?00000004??PAGE_READWRITE

RegionSize:????????0002e000

State:?????????????00002000??MEM_RESERVE

Type:??????????????00020000??MEM_PRIVATE

BaseAddress:???????0006e000

AllocationBase:????00040000

AllocationProtect:?00000004??PAGE_READWRITE

RegionSize:????????00001000

State:?????????????00001000??MEM_COMMIT

Protect:???????????00000104??PAGE_READWRITE?+?PAGE_GUARD

Type:??????????????00020000??MEM_PRIVATE

BaseAddress:???????0006f000

AllocationBase:????00040000

AllocationProtect:?00000004??PAGE_READWRITE

RegionSize:????????00011000

State:?????????????00001000??MEM_COMMIT

Protect:???????????00000004??PAGE_READWRITE

Type:??????????????00020000??MEM_PRIVATE

在Windows?XP和Windows?Server?2003上,CDB為審查虛擬內(nèi)存布局提供了一條更好的命令――!address。這條命令可以完成下面的任務:

???顯示進程的虛擬內(nèi)存映射(依我之見,比!vadump的輸出內(nèi)容更易閱讀)

???顯示有用的、虛擬內(nèi)存使用的統(tǒng)計數(shù)據(jù)

???確定指定的地址屬于哪種虛擬內(nèi)存區(qū)域(例如,它是屬于棧,堆,還是可執(zhí)行映象?)

下面是怎樣用!address報告虛擬內(nèi)存映射的示例:

cdb?-pv?-pn?myapp.exe?-logo?out.txt?-c?"!address;q"

下面顯示被線程的棧占用的內(nèi)存區(qū)域:

00040000?:?00040000?-?0002e000

Type?????00020000?MEM_PRIVATE

Protect??00000000

State????00002000?MEM_RESERVE

Usage????RegionUsageStack

Pid.Tid??658.644

0006e000?-?00001000

Type?????00020000?MEM_PRIVATE

Protect??00000104?PAGE_READWRITE?|?PAGE_GUARD

State????00001000?MEM_COMMIT

Usage????RegionUsageStack

Pid.Tid??658.644

0006f000?-?00011000

Type?????00020000?MEM_PRIVATE

Protect??00000004?PAGE_READWRITE

State????00001000?MEM_COMMIT

Usage????RegionUsageStack

Pid.Tid??658.644

注意,!address非常智能,可以報告屬于棧的線程的線程ID。

在!address報告虛擬內(nèi)存區(qū)域之后,它也能報告有趣的、虛擬內(nèi)存使用的統(tǒng)計數(shù)據(jù):

--------------------?Usage?SUMMARY?--------------------------

TotSize???Pct(Tots)?Pct(Busy)???Usage

00838000?:?0.40%???????27.96%??????:?RegionUsageIsVAD

7e28c000?:?98.56%??????0.00%???????:?RegionUsageFree

01348000?:?0.94%???????65.60%??????:?RegionUsageImage

00040000?:?0.01%???????0.85%???????:?RegionUsageStack

00001000?:?0.00%???????0.01%???????:?RegionUsageTeb

001a0000?:?0.08%???????5.53%???????:?RegionUsageHeap

00000000?:?0.00%???????0.00%???????:?RegionUsagePageHeap

00001000?:?0.00%???????0.01%???????:?RegionUsagePeb

00001000?:?0.00%???????0.01%???????:?RegionUsageProcessParametrs

00001000?:?0.00%???????0.01%???????:?RegionUsageEnvironmentBlock

Tot:?7fff0000?Busy:?01d64000

--------------------?Type?SUMMARY?--------------------------

TotSize???Pct(Tots)?Usage

7e28c000?:?98.56%?????:?01348000?:?0.94%??????:?MEM_IMAGE

007b6000?:?0.38%??????:?MEM_MAPPED

00266000?:?0.12%??????:?MEM_PRIVATE

--------------------?State?SUMMARY?--------------------------

TotSize???Pct(Tots)?Usage

01647000?:?1.09%??????:?MEM_COMMIT

7e28c000?:?98.56%?????:?MEM_FREE

0071d000?:?0.35%??????:?MEM_RESERVE

Largest?free?region:?Base?01014000?-?Size?59d5c000

當我們正在調(diào)試內(nèi)存泄露,以及想確定內(nèi)存泄露的類型(堆,棧,原始的虛擬內(nèi)存,等等)時,這些統(tǒng)計數(shù)據(jù)非常有用。通過最后一行,我們可以確定虛擬內(nèi)存中最大的空閑區(qū)域的大小,這在我們必須設(shè)計請求大量內(nèi)存的應用程序時非常有幫助。

如果你只想查看統(tǒng)計數(shù)據(jù),而不想看虛擬內(nèi)存映射,可以用-summary參數(shù):

cdb?-pv?-pn?myapp.exe?-logo?out.txt?-c?"!address?-summary;q"

如果我們想確定給定地址的虛擬內(nèi)存屬于哪種類型,可以把這個地址作為參數(shù)傳遞給!address命令。下面是一個例子:

0:000>?!address?0x000a2480;q

000a0000?:?000a0000?-?000d7000

Type?????00020000?MEM_PRIVATE

Protect??00000004?PAGE_READWRITE

State????00001000?MEM_COMMIT

Usage????RegionUsageHeap

Handle???000a0000

搜索符號

有時候,我們可能需要確定符號(函數(shù)或變量)的地址。如果我們知道準確的符號名,可以把它輸入Visual?Studio調(diào)試器的反匯編窗口,從中找出它對應的地址。但是,假設(shè)我們忘了準確的符號名呢?或者想找出名字上有相同規(guī)律的、一組符號的地址(例如,類的所有成員函數(shù))?CDB很容易解決這個問題――它提供'x'命令,可以列出匹配指定掩碼的所有符號名:

x?Module!Symbol

下面的命令設(shè)法定位位于kernel32.dll?中的UnhandledExceptionFilter函數(shù)的地址:

cdb?-pv?-pn?notepad.exe?-logo?out.txt?-c?"x?kernel32!UnhandledExceptionFilter;q"

下面是輸出內(nèi)容:

0:000>?x?kernel32!UnhandledExceptionFilter;q

7c862b8a?kernel32!UnhandledExceptionFilter?=?'x'命令可以接受多個通配符,提供一些有用的選項,可用于排序輸出內(nèi)容以及輸出符號的額外信息――你可以在WinDbg文檔里找到更多的信息。例如,下面的命令可以把我們在應用程序的主可執(zhí)行模塊中定義的CmainFrame類所有的成員函數(shù)和統(tǒng)計數(shù)據(jù)列出來:

0:000>?x?myapp!*CMainFrame*

004542f8?MyApp!CMainFrame::classCMainFrame?=?struct?CRuntimeClass

00401100?MyApp!CMainFrame::`scalar?deleting?destructor'?(void)

004011a0?MyApp!CMainFrame::OnCreate?(struct?tagCREATESTRUCTW?*)

00401000?MyApp!CMainFrame::CreateObject?(void)

00401280?MyApp!CMainFrame::PreCreateWindow?(struct?tagCREATESTRUCTW?*)

00401070?MyApp!CMainFrame::GetRuntimeClass?(void)

00401120?MyApp!CMainFrame::~CMainFrame?(void)

00401090?MyApp!CMainFrame::CMainFrame?(void)

00401080?MyApp!CMainFrame::GetMessageMap?(void)

004578ec?MyApp!CMainFrame::`RTTI?Base?Class?Array'?=?004578dc?MyApp!CMainFrame::`RTTI?Class?Hierarchy?Descriptor'?=?004578c8?MyApp!CMainFrame::`RTTI?Complete?Object?Locator'?=?004579ec?MyApp!CMainFrame::`RTTI?Base?Class?Descriptor?at?(0,-1,0,64)'?=?00461e94?MyApp!CMainFrame?`RTTI?Type?Descriptor'?=?00454354?MyApp!CMainFrame::`vftable'?=?CDB也可以反著做――通過地址找符號,使用'ln'命令:

ln?Address

下面是它的用法:

cdb?-pv?-pn?notepad.exe?-logo?out.txt?-c?"ln?0x77d491c8;q"

下面是它的輸出內(nèi)容:

0:000>?ln?0x77d491c8;q

(77d491c6)???USER32!GetMessageW+0x2???|??(77d49216)???USER32!CharUpperBuffW

注意,我們不必指定符號的起始地址(在這個例子里,是函數(shù)),而可以用符號占用的地址范圍內(nèi)的任何地址。'ln'將找出符號,報告它的地址,另外還報告跟在指定內(nèi)容后面的地址和符號名。

顯示數(shù)據(jù)結(jié)構(gòu)

如果我們想研究數(shù)據(jù)結(jié)構(gòu)的內(nèi)容,通常會用Visual?Studio的Watch,QuickWatch或其它類似的窗口。這些窗口允許我們查看結(jié)構(gòu)成員變量的類型和值。但是假設(shè)我們也需要知道結(jié)構(gòu)的精確布局,包括它的成員的偏移量?Visual?Studio不提供易用的解決方法,但幸運的是,CDB可以。在'dt'命令的幫助下,我們可以顯示數(shù)據(jù)結(jié)構(gòu)或類的精確布局。

如果我們只想了解數(shù)據(jù)類型的布局,可以用下面這條命令:

dt?-b?TypeName

(-b選項啟用遞歸顯示,顯示結(jié)構(gòu)或類的成員類型的嵌入式數(shù)據(jù)結(jié)構(gòu))。

下面是命令的示例:

cdb?-pv?-pn?myapp.exe?-logo?out.txt?-c?"dt?-b?CSymbolInfoPackage;q"

下面是輸出內(nèi)容(在運行SymFromAddr?應用程序時得到的):

0:000>?dt?/b?CSymbolInfoPackage;q

+0x000?si???????????????:?_SYMBOL_INFO

+0x000?SizeOfStruct?????:?Uint4B

+0x004?TypeIndex????????:?Uint4B

+0x008?Reserved?????????:?Uint8B

+0x018?Index????????????:?Uint4B

+0x01c?Size?????????????:?Uint4B

+0x020?ModBase??????????:?Uint8B

+0x028?Flags????????????:?Uint4B

+0x030?Value????????????:?Uint8B

+0x038?Address??????????:?Uint8B

+0x040?Register?????????:?Uint4B

+0x044?Scope????????????:?Uint4B

+0x048?Tag??????????????:?Uint4B

+0x04c?NameLen??????????:?Uint4B

+0x050?MaxNameLen???????:?Uint4B

+0x054?Name?????????????:?Char

+0x058?name?????????????:?Char

如果你想顯示特殊變量的布局,可以把它的地址傳遞給'dt'命令:

dt?-b?TypeName?Address

下面是例子:

cdb?-pv?-pn?myapp.exe?-logo?out.txt?-c?"dt?-b?CSymbolInfoPackage?0x0012f6d0;q"

0:000>?dt?/b?CSymbolInfoPackage?0x0012f6d0;q

+0x000?si???????????????:?_SYMBOL_INFO

+0x000?SizeOfStruct?????:?0x58

+0x004?TypeIndex????????:?2

+0x008?Reserved?????????:

[00]?0

[01]?0

+0x018?Index????????????:?1

+0x01c?Size?????????????:?0x428

+0x020?ModBase??????????:?0x400000

+0x028?Flags????????????:?0

+0x030?Value????????????:?0

+0x038?Address??????????:?0x411d30

+0x040?Register?????????:?0

+0x044?Scope????????????:?0

+0x048?Tag??????????????:?5

+0x04c?NameLen??????????:?0xe

+0x050?MaxNameLen???????:?0x7d1

+0x054?Name?????????????:??"S"

[00]?83?'S'

+0x058?name?????????????:??"SymbolInfo"

[00]?83?'S'

[01]?121?'y'

[02]?109?'m'

[03]?98?'b'

[04]?111?'o'

[05]?108?'l'

[06]?73?'I'

[07]?110?'n'

[08]?102?'f'

[09]?111?'o'

[10]?0?''

[11]?0?''

[12]?0?''

[13]?0?''

[14]?0?''

[15]?0?''

[16]?0?''

[17]?0?''

...?省略部分輸出內(nèi)容

[1990]?0?''

[1991]?0?''

[1992]?0?''

[1993]?0?''

[1994]?0?''

[1995]?0?''

[1996]?0?''

[1997]?-52?''

[1998]?-52?''

[1999]?-52?''

[2000]?-52?''

注意,'dt'也顯示結(jié)構(gòu)成員變量的值。

批處理文件

我們已經(jīng)知道怎樣用CDB解決一些有趣的調(diào)試問題了。現(xiàn)在可以用它解決更多的問題了――用易用的批處理文件代替難記的CDB命令行。考慮我們在本文開始部分使用的命令行示例:

cdb?-pv?-pn?myapp.exe?-logo?out.txt?-c?"lm;q"

這條命令中的大部分是固定的,用不著改變。唯一可變的部分是目標信息(-pn?myapp.exe),我們可能會用另外的可執(zhí)行文件名,或另外的附著方式(例如,通過進程ID)替換它。

下面介紹了怎樣用批處理文件代替這條命令:

;?lm.bat

cdb?-pv?%1?%2?-logo?out.txt?-c?"lm;q"

如果我們運行這個批處理文件,通過進程來得到已加載模塊的列表,可以用下面的方法:

通過可執(zhí)行文件名附上進程:

lm?-pn?myapp.exe

通過進程ID附上進程:

lm?-p?1234

通過服務名附上進程:

lm?-psn?MyService

打開故障轉(zhuǎn)儲文件:

lm?-z?c:\myapp.dmp

這條命令與具體的目標無關(guān),只做同樣的事情――打印已加載模塊的列表。

如果我們想為CDB命令指定另外的參數(shù),我們可以用同樣的方法。考慮下面用于顯示數(shù)據(jù)結(jié)構(gòu)布局的命令:

cdb?-pv?-pn?myapp.exe?-logo?out.txt?-c?"dt?/b?MyStruct;q"

當然,我們可能想使用任何數(shù)據(jù)類型運行這條命令,而不僅僅是MyStruct。下面是怎樣做的示例:

;?dt.bat

cdb?-pv?%1?%2?-logo?out.txt?-c?"dt?/b?%3;q"

現(xiàn)在,我們可以象下面這樣運行這條命令:

dt?-pn?myapp.exe?CTestClass

或者象這樣:

dt?-p?1234?SYMBOL_INFO

或者,也可以象這樣:

dt?-z?c:\myapp.dmp?EXCEPTION_POINTERS

總結(jié)

以上是生活随笔為你收集整理的windbg 查看结构体_用WinDbg进行调试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

欧美日韩一区二区免费视频 | 国产成人一区二区三区在线观看 | 久久天天躁狠狠躁夜夜免费观看 | 中文字幕无码热在线视频 | 老子影院午夜精品无码 | 性欧美牲交在线视频 | 真人与拘做受免费视频一 | 婷婷丁香五月天综合东京热 | 最近免费中文字幕中文高清百度 | 亚欧洲精品在线视频免费观看 | 免费男性肉肉影院 | 国产成人av免费观看 | 日产精品高潮呻吟av久久 | 无码精品国产va在线观看dvd | 国产精品人人妻人人爽 | 中文无码成人免费视频在线观看 | 狠狠亚洲超碰狼人久久 | 国语自产偷拍精品视频偷 | 亚洲一区av无码专区在线观看 | 熟女俱乐部五十路六十路av | 九九热爱视频精品 | 丰满妇女强制高潮18xxxx | 欧美一区二区三区 | 熟妇女人妻丰满少妇中文字幕 | 四虎国产精品一区二区 | 精品国产一区二区三区av 性色 | 麻豆蜜桃av蜜臀av色欲av | 色婷婷av一区二区三区之红樱桃 | 一区二区传媒有限公司 | 久久综合给合久久狠狠狠97色 | 99精品无人区乱码1区2区3区 | 免费中文字幕日韩欧美 | 亚洲日本va午夜在线电影 | 全黄性性激高免费视频 | 给我免费的视频在线观看 | 亚洲国产精品无码久久久久高潮 | 97色伦图片97综合影院 | 一个人看的www免费视频在线观看 | 日产精品99久久久久久 | 国产高清不卡无码视频 | 色妞www精品免费视频 | 久久久成人毛片无码 | 搡女人真爽免费视频大全 | 欧美成人高清在线播放 | 在线 国产 欧美 亚洲 天堂 | 亚洲爆乳精品无码一区二区三区 | 亚洲国产日韩a在线播放 | 午夜精品久久久久久久 | 国产无套内射久久久国产 | 免费人成网站视频在线观看 | 色情久久久av熟女人妻网站 | 成人欧美一区二区三区黑人免费 | 熟妇激情内射com | 在线精品亚洲一区二区 | 成在人线av无码免费 | 思思久久99热只有频精品66 | 亚洲一区二区三区在线观看网站 | 国产午夜福利亚洲第一 | 久久精品国产99久久6动漫 | 激情爆乳一区二区三区 | 人人爽人人澡人人人妻 | 六十路熟妇乱子伦 | 免费国产成人高清在线观看网站 | 国产香蕉尹人视频在线 | 日本在线高清不卡免费播放 | 亚洲经典千人经典日产 | 中文字幕av日韩精品一区二区 | 亚洲国产av美女网站 | 又黄又爽又色的视频 | 久久99精品国产麻豆蜜芽 | 久久久久久久人妻无码中文字幕爆 | 成人无码视频在线观看网站 | 在线a亚洲视频播放在线观看 | 人妻无码αv中文字幕久久琪琪布 | 国产亚洲精品久久久久久久 | 成人欧美一区二区三区黑人免费 | 狂野欧美性猛xxxx乱大交 | 亚洲熟悉妇女xxx妇女av | 国产精品va在线播放 | 久久精品人人做人人综合试看 | 伊人色综合久久天天小片 | 欧美亚洲国产一区二区三区 | 中文字幕乱码中文乱码51精品 | 日韩在线不卡免费视频一区 | 大乳丰满人妻中文字幕日本 | 呦交小u女精品视频 | 白嫩日本少妇做爰 | 丰满少妇弄高潮了www | 东京热无码av男人的天堂 | 水蜜桃av无码 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 中文字幕乱码亚洲无线三区 | 性欧美videos高清精品 | 撕开奶罩揉吮奶头视频 | 国产亚洲精品久久久久久久 | 亚洲精品国偷拍自产在线观看蜜桃 | 7777奇米四色成人眼影 | 欧美激情内射喷水高潮 | 亚洲人成无码网www | 国产又粗又硬又大爽黄老大爷视 | 伊人久久大香线蕉亚洲 | 色窝窝无码一区二区三区色欲 | 亚洲熟悉妇女xxx妇女av | 成人无码影片精品久久久 | 亚洲伊人久久精品影院 | 国产后入清纯学生妹 | 97资源共享在线视频 | 天堂无码人妻精品一区二区三区 | 国产精品视频免费播放 | 国产极品美女高潮无套在线观看 | 熟妇人妻中文av无码 | 亚洲熟妇色xxxxx欧美老妇 | 九九在线中文字幕无码 | 国产三级久久久精品麻豆三级 | 嫩b人妻精品一区二区三区 | 亚洲一区二区三区含羞草 | 伊人久久大香线蕉av一区二区 | 成人综合网亚洲伊人 | 欧美猛少妇色xxxxx | 兔费看少妇性l交大片免费 | 色婷婷久久一区二区三区麻豆 | 精品一区二区不卡无码av | 亚洲呦女专区 | 久久无码中文字幕免费影院蜜桃 | 黑人大群体交免费视频 | 狠狠躁日日躁夜夜躁2020 | 狠狠色噜噜狠狠狠7777奇米 | 亚洲中文字幕无码一久久区 | 国产小呦泬泬99精品 | 人妻人人添人妻人人爱 | 亚洲午夜久久久影院 | 国产人妻人伦精品1国产丝袜 | 高清无码午夜福利视频 | 蜜臀aⅴ国产精品久久久国产老师 | 久久精品国产99精品亚洲 | 97夜夜澡人人爽人人喊中国片 | 亚洲国产精品美女久久久久 | 国产精品美女久久久网av | 无码av最新清无码专区吞精 | 国产综合色产在线精品 | 精品乱子伦一区二区三区 | 免费播放一区二区三区 | 午夜福利电影 | 亚洲精品美女久久久久久久 | 亚洲一区二区三区国产精华液 | 中文字幕人妻无码一区二区三区 | 欧美老妇交乱视频在线观看 | 在线视频网站www色 | 国产午夜无码精品免费看 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 99久久久无码国产aaa精品 | a在线观看免费网站大全 | 夫妻免费无码v看片 | 在线观看欧美一区二区三区 | 中文字幕 人妻熟女 | 国产乱人偷精品人妻a片 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 日日橹狠狠爱欧美视频 | 精品国偷自产在线视频 | 欧美国产亚洲日韩在线二区 | 国产97人人超碰caoprom | 成人免费视频视频在线观看 免费 | 国产成人无码专区 | 国产成人精品久久亚洲高清不卡 | 国产精品国产自线拍免费软件 | 久久亚洲a片com人成 | 高潮毛片无遮挡高清免费 | 欧美丰满熟妇xxxx | 少妇人妻偷人精品无码视频 | 午夜时刻免费入口 | 97久久精品无码一区二区 | 欧美精品无码一区二区三区 | 国产香蕉97碰碰久久人人 | 麻豆人妻少妇精品无码专区 | 久久久中文久久久无码 | 亚欧洲精品在线视频免费观看 | 永久免费观看美女裸体的网站 | 国产欧美亚洲精品a | 日本在线高清不卡免费播放 | 国产成人久久精品流白浆 | 在线播放亚洲第一字幕 | 日日干夜夜干 | 97无码免费人妻超级碰碰夜夜 | 久久99国产综合精品 | 成年女人永久免费看片 | 无码任你躁久久久久久久 | 国产成人精品优优av | 精品国产aⅴ无码一区二区 | 麻豆精品国产精华精华液好用吗 | 欧美亚洲日韩国产人成在线播放 | 亚洲综合在线一区二区三区 | a片免费视频在线观看 | 色婷婷综合激情综在线播放 | 自拍偷自拍亚洲精品被多人伦好爽 | 中文字幕无码日韩专区 | 又紧又大又爽精品一区二区 | 中文字幕无码人妻少妇免费 | 女人色极品影院 | 久久综合激激的五月天 | 婷婷综合久久中文字幕蜜桃三电影 | 图片小说视频一区二区 | 亚洲热妇无码av在线播放 | 亚洲精品中文字幕乱码 | 伊人久久大香线蕉亚洲 | aⅴ在线视频男人的天堂 | 十八禁真人啪啪免费网站 | 无码任你躁久久久久久久 | 西西人体www44rt大胆高清 | 国产成人午夜福利在线播放 | 亚洲一区二区三区无码久久 | 免费乱码人妻系列无码专区 | 国产舌乚八伦偷品w中 | 丰满人妻精品国产99aⅴ | 精品熟女少妇av免费观看 | 亚洲精品久久久久中文第一幕 | 东京一本一道一二三区 | 亚洲爆乳大丰满无码专区 | 中文精品无码中文字幕无码专区 | 好男人社区资源 | 一本一道久久综合久久 | 97资源共享在线视频 | 18精品久久久无码午夜福利 | 中文无码成人免费视频在线观看 | 人妻尝试又大又粗久久 | 天堂在线观看www | 欧美熟妇另类久久久久久不卡 | 性欧美疯狂xxxxbbbb | 国产超级va在线观看视频 | 国产人妻人伦精品1国产丝袜 | 亚洲精品综合一区二区三区在线 | 久久久av男人的天堂 | 亚洲の无码国产の无码步美 | 欧美肥老太牲交大战 | 在线观看欧美一区二区三区 | aⅴ在线视频男人的天堂 | 日韩av无码中文无码电影 | 精品无码国产一区二区三区av | 天天摸天天碰天天添 | 国产精品.xx视频.xxtv | 窝窝午夜理论片影院 | 亚洲欧美日韩综合久久久 | 夜夜躁日日躁狠狠久久av | 日产精品99久久久久久 | 色窝窝无码一区二区三区色欲 | 国精品人妻无码一区二区三区蜜柚 | √8天堂资源地址中文在线 | 国产精品va在线播放 | 国产九九九九九九九a片 | 丰腴饱满的极品熟妇 | 国产午夜福利亚洲第一 | 蜜桃视频韩日免费播放 | 久久久亚洲欧洲日产国码αv | 国产色精品久久人妻 | 国产莉萝无码av在线播放 | 图片小说视频一区二区 | 99久久99久久免费精品蜜桃 | 国产极品美女高潮无套在线观看 | 熟妇激情内射com | 欧美黑人性暴力猛交喷水 | 日本一卡二卡不卡视频查询 | 国产 浪潮av性色四虎 | 成人片黄网站色大片免费观看 | 日韩精品a片一区二区三区妖精 | 激情综合激情五月俺也去 | 99国产欧美久久久精品 | 午夜性刺激在线视频免费 | 18禁黄网站男男禁片免费观看 | 黑人大群体交免费视频 | 日日碰狠狠丁香久燥 | 人妻中文无码久热丝袜 | 中文字幕无码免费久久9一区9 | 天天燥日日燥 | 香港三级日本三级妇三级 | 麻豆成人精品国产免费 | 狂野欧美激情性xxxx | 日本又色又爽又黄的a片18禁 | 精品久久久中文字幕人妻 | 亚洲日本va午夜在线电影 | 久久久久久久女国产乱让韩 | 精品无码成人片一区二区98 | 一个人免费观看的www视频 | 白嫩日本少妇做爰 | 蜜桃臀无码内射一区二区三区 | 精品厕所偷拍各类美女tp嘘嘘 | 日韩人妻无码一区二区三区久久99 | aa片在线观看视频在线播放 | 亚洲国精产品一二二线 | 欧美日韩视频无码一区二区三 | 国产精品18久久久久久麻辣 | 日本丰满护士爆乳xxxx | 婷婷五月综合激情中文字幕 | 国产人成高清在线视频99最全资源 | 成 人 网 站国产免费观看 | 中文字幕av伊人av无码av | 久久午夜无码鲁丝片 | 亚洲一区二区三区含羞草 | 亚洲日韩精品欧美一区二区 | 特黄特色大片免费播放器图片 | 国产精品二区一区二区aⅴ污介绍 | 伊人色综合久久天天小片 | 国产色视频一区二区三区 | 欧洲极品少妇 | 日日天日日夜日日摸 | 特级做a爰片毛片免费69 | av无码电影一区二区三区 | 十八禁视频网站在线观看 | 青青青手机频在线观看 | 在线成人www免费观看视频 | 成熟人妻av无码专区 | 国产熟妇高潮叫床视频播放 | 国产精品久久久久7777 | 国产99久久精品一区二区 | 欧美兽交xxxx×视频 | 狠狠色丁香久久婷婷综合五月 | 亚洲国精产品一二二线 | 国产精品怡红院永久免费 | 特黄特色大片免费播放器图片 | 精品国产福利一区二区 | 久久久久亚洲精品中文字幕 | 欧美成人家庭影院 | 国产精品国产自线拍免费软件 | 日韩视频 中文字幕 视频一区 | 麻豆国产丝袜白领秘书在线观看 | 无码国内精品人妻少妇 | 天堂在线观看www | 日本大香伊一区二区三区 | 人人超人人超碰超国产 | 无码国产乱人伦偷精品视频 | 亚洲精品一区二区三区大桥未久 | av无码电影一区二区三区 | 国产成人一区二区三区在线观看 | 色综合久久网 | 人人超人人超碰超国产 | 性欧美牲交在线视频 | 成人av无码一区二区三区 | 亚洲高清偷拍一区二区三区 | 亚洲国产精品久久久久久 | 日韩人妻系列无码专区 | 国产办公室秘书无码精品99 | 精品久久久无码中文字幕 | 狠狠噜狠狠狠狠丁香五月 | 少妇性l交大片欧洲热妇乱xxx | 欧美一区二区三区 | 亚洲自偷精品视频自拍 | 精品熟女少妇av免费观看 | 强伦人妻一区二区三区视频18 | 午夜熟女插插xx免费视频 | 久久99精品国产麻豆蜜芽 | 国产精品第一区揄拍无码 | 无码国产色欲xxxxx视频 | 亚洲精品无码国产 | 人妻少妇精品无码专区动漫 | 国产激情无码一区二区 | 妺妺窝人体色www婷婷 | 国产精品久久国产精品99 | 久久国产精品精品国产色婷婷 | 日本饥渴人妻欲求不满 | 中文字幕无码视频专区 | 国产又爽又猛又粗的视频a片 | 国产在线aaa片一区二区99 | 日本在线高清不卡免费播放 | 亚洲s码欧洲m码国产av | 日本一区二区更新不卡 | 一二三四在线观看免费视频 | 国产成人无码av片在线观看不卡 | 欧美精品在线观看 | 国产精品永久免费视频 | 一区二区三区高清视频一 | 日韩成人一区二区三区在线观看 | 日本熟妇大屁股人妻 | 99er热精品视频 | 2019nv天堂香蕉在线观看 | 老子影院午夜伦不卡 | 亚洲国产精品一区二区美利坚 | www国产亚洲精品久久久日本 | 久久精品99久久香蕉国产色戒 | 麻豆国产丝袜白领秘书在线观看 | 色老头在线一区二区三区 | 无码人妻av免费一区二区三区 | 国产av一区二区三区最新精品 | 51国偷自产一区二区三区 | 东北女人啪啪对白 | 对白脏话肉麻粗话av | 欧美 丝袜 自拍 制服 另类 | 影音先锋中文字幕无码 | 国产精品美女久久久久av爽李琼 | 欧美 日韩 人妻 高清 中文 | 在线亚洲高清揄拍自拍一品区 | 久久精品国产精品国产精品污 | 国产日产欧产精品精品app | 中文字幕无码av激情不卡 | 国产色在线 | 国产 | 亚洲人交乣女bbw | 色偷偷人人澡人人爽人人模 | 久久久久久av无码免费看大片 | 国产三级精品三级男人的天堂 | 国产区女主播在线观看 | 国产香蕉97碰碰久久人人 | 曰韩少妇内射免费播放 | 又大又黄又粗又爽的免费视频 | 人人妻人人澡人人爽人人精品 | 久久人人爽人人人人片 | 国内综合精品午夜久久资源 | 国内老熟妇对白xxxxhd | 久久久久av无码免费网 | 午夜无码区在线观看 | 欧美熟妇另类久久久久久多毛 | 精品欧美一区二区三区久久久 | 中文字幕av日韩精品一区二区 | 一本大道伊人av久久综合 | 亚洲熟熟妇xxxx | 毛片内射-百度 | 欧美国产日韩久久mv | 色五月五月丁香亚洲综合网 | 狠狠色噜噜狠狠狠7777奇米 | 欧美xxxxx精品 | 免费无码av一区二区 | 国产精品香蕉在线观看 | 又大又硬又爽免费视频 | 色窝窝无码一区二区三区色欲 | aa片在线观看视频在线播放 | 国产乱人伦av在线无码 | 亚洲色偷偷男人的天堂 | 日本熟妇乱子伦xxxx | 亚洲国产欧美日韩精品一区二区三区 | 国产97色在线 | 免 | 成人精品一区二区三区中文字幕 | 99久久精品国产一区二区蜜芽 | 日韩无套无码精品 | 免费视频欧美无人区码 | 欧美精品国产综合久久 | 丰满人妻翻云覆雨呻吟视频 | 99久久久无码国产精品免费 | 国产成人无码一二三区视频 | 色一情一乱一伦 | 国产成人精品无码播放 | 国产熟妇高潮叫床视频播放 | 丰满少妇高潮惨叫视频 | 巨爆乳无码视频在线观看 | 成人一区二区免费视频 | 国产精品视频免费播放 | 亚洲成av人综合在线观看 | 嫩b人妻精品一区二区三区 | 国产精品亚洲五月天高清 | 亚洲一区二区三区无码久久 | 精品亚洲韩国一区二区三区 | 欧美真人作爱免费视频 | 又大又硬又黄的免费视频 | 久久国产自偷自偷免费一区调 | 99精品视频在线观看免费 | 精品无人区无码乱码毛片国产 | 国产亚洲美女精品久久久2020 | 国产网红无码精品视频 | 亚洲欧洲无卡二区视頻 | 久久精品国产亚洲精品 | 又粗又大又硬毛片免费看 | 亚洲国产精品成人久久蜜臀 | 中文精品无码中文字幕无码专区 | 曰韩无码二三区中文字幕 | 午夜福利一区二区三区在线观看 | 美女黄网站人色视频免费国产 | 77777熟女视频在线观看 а天堂中文在线官网 | 国产av一区二区三区最新精品 | 动漫av一区二区在线观看 | 国产成人无码a区在线观看视频app | 免费看男女做好爽好硬视频 | 窝窝午夜理论片影院 | 少妇性荡欲午夜性开放视频剧场 | 国内综合精品午夜久久资源 | 图片小说视频一区二区 | 国产亚洲日韩欧美另类第八页 | 精品无码av一区二区三区 | 国产激情艳情在线看视频 | 亚洲中文字幕无码中字 | 十八禁视频网站在线观看 | 欧美老妇交乱视频在线观看 | 大乳丰满人妻中文字幕日本 | 丰满妇女强制高潮18xxxx | 国产亚洲精品久久久ai换 | 俺去俺来也www色官网 | 欧美zoozzooz性欧美 | 亚洲成色在线综合网站 | 亚洲国产精品成人久久蜜臀 | 久久精品国产大片免费观看 | 精品乱码久久久久久久 | 强开小婷嫩苞又嫩又紧视频 | 超碰97人人射妻 | 76少妇精品导航 | 少妇高潮喷潮久久久影院 | 久久综合九色综合97网 | 久久久婷婷五月亚洲97号色 | 午夜无码人妻av大片色欲 | 久久久久se色偷偷亚洲精品av | 精品久久久中文字幕人妻 | 精品国产aⅴ无码一区二区 | 亚洲男人av天堂午夜在 | 国产午夜福利100集发布 | 一个人免费观看的www视频 | 又粗又大又硬毛片免费看 | 伊人久久大香线蕉亚洲 | 免费中文字幕日韩欧美 | 久久亚洲精品中文字幕无男同 | 日韩无码专区 | 久久精品国产99精品亚洲 | 一本久久伊人热热精品中文字幕 | 欧美性猛交内射兽交老熟妇 | 国产真人无遮挡作爱免费视频 | 图片小说视频一区二区 | 麻豆人妻少妇精品无码专区 | 国产成人无码av在线影院 | 国产精品二区一区二区aⅴ污介绍 | 国产成人无码一二三区视频 | 久久www免费人成人片 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 人妻少妇精品无码专区二区 | 国产办公室秘书无码精品99 | 在线看片无码永久免费视频 | 波多野结衣 黑人 | 国产精品久久精品三级 | 午夜精品久久久内射近拍高清 | 日本爽爽爽爽爽爽在线观看免 | 国产无套内射久久久国产 | 国产欧美精品一区二区三区 | 亚洲精品www久久久 | 日日天日日夜日日摸 | 亚洲欧美日韩成人高清在线一区 | 国产亚av手机在线观看 | 2020久久超碰国产精品最新 | 亚洲精品一区三区三区在线观看 | 狠狠色噜噜狠狠狠7777奇米 | 日日天日日夜日日摸 | 亚洲娇小与黑人巨大交 | 欧美日韩综合一区二区三区 | 国产精品久久精品三级 | 国产精品高潮呻吟av久久 | 人人妻人人澡人人爽欧美一区 | 一本加勒比波多野结衣 | 欧美日韩人成综合在线播放 | 久久久精品成人免费观看 | aⅴ亚洲 日韩 色 图网站 播放 | 永久免费观看美女裸体的网站 | 亚洲国产精品久久久久久 | 少妇性l交大片 | 乌克兰少妇xxxx做受 | 妺妺窝人体色www婷婷 | 日韩人妻无码一区二区三区久久99 | 伊人久久婷婷五月综合97色 | 中文字幕中文有码在线 | 国内揄拍国内精品少妇国语 | 亚洲精品国产第一综合99久久 | 日本成熟视频免费视频 | 无码毛片视频一区二区本码 | 国产精品高潮呻吟av久久 | 国产精品欧美成人 | 国产精品第一区揄拍无码 | 夜夜影院未满十八勿进 | 一本久道久久综合婷婷五月 | 国产特级毛片aaaaaaa高清 | 一本加勒比波多野结衣 | 国产av无码专区亚洲awww | 久久www免费人成人片 | 乌克兰少妇xxxx做受 | 国产午夜亚洲精品不卡下载 | 无遮无挡爽爽免费视频 | 性开放的女人aaa片 | 亚洲精品国产第一综合99久久 | 国产亚洲精品久久久久久久久动漫 | 国产黄在线观看免费观看不卡 | av无码电影一区二区三区 | 国产成人无码a区在线观看视频app | 精品午夜福利在线观看 | yw尤物av无码国产在线观看 | 精品久久综合1区2区3区激情 | 精品一区二区三区波多野结衣 | 成人精品一区二区三区中文字幕 | 国产精品久久久午夜夜伦鲁鲁 | 免费无码一区二区三区蜜桃大 | 一本一道久久综合久久 | 亚洲va中文字幕无码久久不卡 | 欧美日韩人成综合在线播放 | 对白脏话肉麻粗话av | 人人妻人人澡人人爽精品欧美 | 性史性农村dvd毛片 | 亚洲爆乳精品无码一区二区三区 | 老司机亚洲精品影院无码 | 丁香花在线影院观看在线播放 | 中文字幕av无码一区二区三区电影 | 色综合久久久无码网中文 | 日产精品高潮呻吟av久久 | 2020久久超碰国产精品最新 | 色妞www精品免费视频 | 1000部啪啪未满十八勿入下载 | 中文精品无码中文字幕无码专区 | 亚洲中文字幕乱码av波多ji | 无套内谢的新婚少妇国语播放 | 日韩av无码中文无码电影 | 国产无遮挡又黄又爽免费视频 | 国产精品人人妻人人爽 | 亚洲精品欧美二区三区中文字幕 | ass日本丰满熟妇pics | 人人澡人人透人人爽 | 亚洲色在线无码国产精品不卡 | 精品久久综合1区2区3区激情 | 牲交欧美兽交欧美 | 日本大乳高潮视频在线观看 | 青草青草久热国产精品 | 国产成人精品视频ⅴa片软件竹菊 | 少妇无码吹潮 | 伊人色综合久久天天小片 | 性色欲网站人妻丰满中文久久不卡 | 在线观看欧美一区二区三区 | 中文字幕乱码亚洲无线三区 | 国产 浪潮av性色四虎 | 国产成人午夜福利在线播放 | 欧美日韩视频无码一区二区三 | 日产国产精品亚洲系列 | 精品国精品国产自在久国产87 | 国产精品人人妻人人爽 | 久久国产精品精品国产色婷婷 | 一个人看的www免费视频在线观看 | 欧美xxxxx精品 | 欧美xxxxx精品 | 18黄暴禁片在线观看 | 国产成人久久精品流白浆 | 亚洲爆乳大丰满无码专区 | 福利一区二区三区视频在线观看 | 给我免费的视频在线观看 | 夜夜影院未满十八勿进 | 激情国产av做激情国产爱 | 无码国产乱人伦偷精品视频 | 亚洲精品国产a久久久久久 | 婷婷丁香五月天综合东京热 | 欧美 日韩 人妻 高清 中文 | 18精品久久久无码午夜福利 | 成人毛片一区二区 | 性做久久久久久久免费看 | 国内精品人妻无码久久久影院 | 高潮喷水的毛片 | 无码人妻av免费一区二区三区 | 丰腴饱满的极品熟妇 | 久久精品国产日本波多野结衣 | 国产麻豆精品一区二区三区v视界 | 国产成人精品久久亚洲高清不卡 | 国产偷国产偷精品高清尤物 | 狠狠cao日日穞夜夜穞av | 色综合久久88色综合天天 | 国产舌乚八伦偷品w中 | 亚洲gv猛男gv无码男同 | 色诱久久久久综合网ywww | 亚洲伊人久久精品影院 | 国产精品久久久久久亚洲影视内衣 | 丰满少妇弄高潮了www | 97精品国产97久久久久久免费 | 亚洲午夜福利在线观看 | 丰腴饱满的极品熟妇 | 18精品久久久无码午夜福利 | 国产人妻精品午夜福利免费 | 97色伦图片97综合影院 | 中文精品无码中文字幕无码专区 | 久久天天躁夜夜躁狠狠 | 九九在线中文字幕无码 | 精品国产一区二区三区四区 | 亚洲色www成人永久网址 | 99精品无人区乱码1区2区3区 | 亚洲爆乳大丰满无码专区 | 亚洲成a人片在线观看无码3d | 国产综合久久久久鬼色 | 日本护士xxxxhd少妇 | 伊人色综合久久天天小片 | 日韩视频 中文字幕 视频一区 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | av无码不卡在线观看免费 | 日本又色又爽又黄的a片18禁 | 久久无码专区国产精品s | 5858s亚洲色大成网站www | 国产极品视觉盛宴 | 伊人久久大香线蕉av一区二区 | 无码乱肉视频免费大全合集 | 亚洲精品国偷拍自产在线观看蜜桃 | 精品国产av色一区二区深夜久久 | 牛和人交xxxx欧美 | 自拍偷自拍亚洲精品10p | 久久人妻内射无码一区三区 | 亚洲国产精品久久人人爱 | 国产在线一区二区三区四区五区 | 中文字幕无码日韩专区 | av无码电影一区二区三区 | 樱花草在线播放免费中文 | 少妇久久久久久人妻无码 | 欧美猛少妇色xxxxx | 国产精品亚洲一区二区三区喷水 | 久久久精品欧美一区二区免费 | 亚洲精品一区三区三区在线观看 | 全球成人中文在线 | 狠狠色欧美亚洲狠狠色www | 99久久精品午夜一区二区 | 日韩精品久久久肉伦网站 | 日日天干夜夜狠狠爱 | 久久精品人人做人人综合试看 | 国内精品人妻无码久久久影院蜜桃 | 久久久久久久女国产乱让韩 | 国内少妇偷人精品视频 | 东京热一精品无码av | 中文字幕久久久久人妻 | 国精产品一品二品国精品69xx | 亚洲精品久久久久久一区二区 | 99riav国产精品视频 | 婷婷五月综合激情中文字幕 | 国产成人综合色在线观看网站 | 无码任你躁久久久久久久 | 国精品人妻无码一区二区三区蜜柚 | 两性色午夜视频免费播放 | 日韩欧美中文字幕在线三区 | 成熟人妻av无码专区 | 理论片87福利理论电影 | 国产人妻人伦精品 | 乌克兰少妇xxxx做受 | 国产精品久久久久久无码 | 国产无遮挡又黄又爽免费视频 | 亚洲一区二区观看播放 | 蜜桃无码一区二区三区 | 欧美精品一区二区精品久久 | 两性色午夜免费视频 | 精品熟女少妇av免费观看 | 性色av无码免费一区二区三区 | 97久久精品无码一区二区 | 蜜桃无码一区二区三区 | 久久久久se色偷偷亚洲精品av | 天堂а√在线地址中文在线 | 日本爽爽爽爽爽爽在线观看免 | 人人妻人人澡人人爽精品欧美 | 国产9 9在线 | 中文 | 大乳丰满人妻中文字幕日本 | 曰韩少妇内射免费播放 | 国产特级毛片aaaaaa高潮流水 | 国产亚洲欧美在线专区 | 天堂在线观看www | 久久aⅴ免费观看 | 免费人成网站视频在线观看 | 超碰97人人射妻 | 国产精品久久久久久久影院 | 强奷人妻日本中文字幕 | 欧美人与物videos另类 | 国产午夜亚洲精品不卡 | 久久久久成人片免费观看蜜芽 | 日韩欧美成人免费观看 | 秋霞成人午夜鲁丝一区二区三区 | 精品欧美一区二区三区久久久 | 大乳丰满人妻中文字幕日本 | 成在人线av无码免观看麻豆 | 国产片av国语在线观看 | 色欲综合久久中文字幕网 | 久久久久久久女国产乱让韩 | 精品偷自拍另类在线观看 | 少妇人妻大乳在线视频 | 免费人成在线视频无码 | 中文字幕乱码人妻无码久久 | 激情亚洲一区国产精品 | 亚洲综合精品香蕉久久网 | 国产又爽又黄又刺激的视频 | 久久天天躁狠狠躁夜夜免费观看 | 亚洲精品一区二区三区在线 | 中文字幕无线码 | 人妻少妇精品无码专区二区 | 中文字幕无码日韩欧毛 | 午夜精品久久久久久久 | 人人妻人人澡人人爽精品欧美 | 久久这里只有精品视频9 | 亚洲熟妇色xxxxx欧美老妇 | 久久国产精品_国产精品 | 国产极品视觉盛宴 | 中文字幕无线码免费人妻 | 欧美肥老太牲交大战 | 国产热a欧美热a在线视频 | 国产亚洲精品久久久闺蜜 | 精品 日韩 国产 欧美 视频 | 亚洲精品成人av在线 | 日韩 欧美 动漫 国产 制服 | 久精品国产欧美亚洲色aⅴ大片 | 成人欧美一区二区三区黑人免费 | 无套内谢老熟女 | 日本爽爽爽爽爽爽在线观看免 | 久久久久久a亚洲欧洲av冫 | 亚洲精品国产品国语在线观看 | 亚洲精品午夜国产va久久成人 | 四虎永久在线精品免费网址 | 1000部啪啪未满十八勿入下载 | 97夜夜澡人人双人人人喊 | 国产97色在线 | 免 | 亚洲中文字幕无码中文字在线 | 亚洲熟女一区二区三区 | 日韩av无码一区二区三区不卡 | 亚洲精品国产品国语在线观看 | 野狼第一精品社区 | 亚洲熟妇色xxxxx欧美老妇 | 国产亚洲tv在线观看 | 国内老熟妇对白xxxxhd | 亚洲国产午夜精品理论片 | 亚洲熟悉妇女xxx妇女av | 在线精品国产一区二区三区 | 久久久久国色av免费观看性色 | 国产精品久久久 | 国产两女互慰高潮视频在线观看 | 国内老熟妇对白xxxxhd | 中文精品无码中文字幕无码专区 | 一本加勒比波多野结衣 | 夜夜高潮次次欢爽av女 | 国产女主播喷水视频在线观看 | 国产手机在线αⅴ片无码观看 | 免费观看黄网站 | 丰满人妻一区二区三区免费视频 | 99久久久无码国产aaa精品 | 日日碰狠狠躁久久躁蜜桃 | 日本丰满熟妇videos | 精品久久久无码人妻字幂 | 最新国产乱人伦偷精品免费网站 | 玩弄人妻少妇500系列视频 | 国产乱子伦视频在线播放 | 最近的中文字幕在线看视频 | www一区二区www免费 | 亚洲成a人片在线观看无码3d | 久久人人爽人人人人片 | 精品国产一区二区三区四区在线看 | 亚洲日韩av一区二区三区中文 | 麻豆国产97在线 | 欧洲 | 无码精品人妻一区二区三区av | 国产av无码专区亚洲awww | 国产精品久免费的黄网站 | 亚洲精品成人福利网站 | 丰满少妇弄高潮了www | 国产猛烈高潮尖叫视频免费 | 成人无码视频在线观看网站 | 亚洲第一无码av无码专区 | 精品国产乱码久久久久乱码 | 又紧又大又爽精品一区二区 | 久久久久人妻一区精品色欧美 | 国产人妻精品一区二区三区不卡 | 无码成人精品区在线观看 | 国产精品丝袜黑色高跟鞋 | 精品无码国产一区二区三区av | 国产黄在线观看免费观看不卡 | 久久久久久av无码免费看大片 | 清纯唯美经典一区二区 | 国产成人综合色在线观看网站 | 无码精品人妻一区二区三区av | 天堂а√在线地址中文在线 | 曰韩无码二三区中文字幕 | 亚洲国产成人av在线观看 | 无码福利日韩神码福利片 | 亚洲精品国产精品乱码视色 | 欧美自拍另类欧美综合图片区 | 国产成人一区二区三区在线观看 | 欧美人与禽猛交狂配 | 熟妇人妻无码xxx视频 | 亚洲精品一区二区三区在线观看 | 中文字幕无码免费久久99 | 麻豆果冻传媒2021精品传媒一区下载 | 久久99久久99精品中文字幕 | 最新国产麻豆aⅴ精品无码 | 国产色视频一区二区三区 | 精品国产成人一区二区三区 | 精品人妻人人做人人爽 | 国精品人妻无码一区二区三区蜜柚 | 亚洲国产欧美日韩精品一区二区三区 | 国产精品无码成人午夜电影 | 久久 国产 尿 小便 嘘嘘 | 丰满妇女强制高潮18xxxx | 国产色在线 | 国产 | 九月婷婷人人澡人人添人人爽 | 国产成人综合美国十次 | 久久97精品久久久久久久不卡 | 青青草原综合久久大伊人精品 | 午夜熟女插插xx免费视频 | 露脸叫床粗话东北少妇 | 综合人妻久久一区二区精品 | 激情综合激情五月俺也去 | 国产人妻精品一区二区三区 | 国产精品国产三级国产专播 | 中文字幕av伊人av无码av | 鲁一鲁av2019在线 | 久久久久av无码免费网 | 澳门永久av免费网站 | 在线欧美精品一区二区三区 | 国产美女精品一区二区三区 | 国产精品无码mv在线观看 | 久久综合九色综合97网 | 女人被男人躁得好爽免费视频 | 日本大乳高潮视频在线观看 | 激情亚洲一区国产精品 | 国产va免费精品观看 | 久久国产精品偷任你爽任你 | 亚洲精品国产精品乱码视色 | 漂亮人妻洗澡被公强 日日躁 | 扒开双腿吃奶呻吟做受视频 | 夫妻免费无码v看片 | 任你躁国产自任一区二区三区 | 国产偷自视频区视频 | 性开放的女人aaa片 | 综合人妻久久一区二区精品 | 中文字幕乱码中文乱码51精品 | 国产精品无码成人午夜电影 | 国产午夜无码精品免费看 | 国产黄在线观看免费观看不卡 | 国产亚洲精品精品国产亚洲综合 | 999久久久国产精品消防器材 | 亚洲欧美色中文字幕在线 | 久久久婷婷五月亚洲97号色 | 亚洲自偷精品视频自拍 | 无码纯肉视频在线观看 | 日本护士xxxxhd少妇 | 亚洲最大成人网站 | 国产精品二区一区二区aⅴ污介绍 | 欧美zoozzooz性欧美 | 一区二区三区高清视频一 | 久久久久久av无码免费看大片 | www国产亚洲精品久久网站 | 一本久道久久综合狠狠爱 | 色老头在线一区二区三区 | 色一情一乱一伦一视频免费看 | aⅴ在线视频男人的天堂 | 野狼第一精品社区 | 亚洲性无码av中文字幕 | 久久www免费人成人片 | 99视频精品全部免费免费观看 | 色综合天天综合狠狠爱 | 精品久久久无码人妻字幂 | 精品久久久中文字幕人妻 | 国产偷抇久久精品a片69 | 亚洲日韩乱码中文无码蜜桃臀网站 | 亚洲春色在线视频 | 奇米影视888欧美在线观看 | 日日夜夜撸啊撸 | 特大黑人娇小亚洲女 | 欧美国产日韩久久mv | 久久久久99精品成人片 | 高清无码午夜福利视频 | 99久久99久久免费精品蜜桃 | 99久久久国产精品无码免费 | 中文字幕无码av波多野吉衣 | 国产成人无码午夜视频在线观看 | 久久久久久久人妻无码中文字幕爆 | 欧美35页视频在线观看 | 国产乱子伦视频在线播放 | 无码免费一区二区三区 | 日本精品久久久久中文字幕 | 久久精品国产99精品亚洲 | 中文字幕无码免费久久9一区9 | 国产农村乱对白刺激视频 | 色欲综合久久中文字幕网 | 亚洲精品欧美二区三区中文字幕 | 波多野结衣一区二区三区av免费 | 国产综合色产在线精品 | 天堂亚洲免费视频 | 亲嘴扒胸摸屁股激烈网站 | 99久久久无码国产aaa精品 | 国内精品久久毛片一区二区 | 免费观看黄网站 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 大肉大捧一进一出好爽视频 | 亚洲色大成网站www国产 | 欧美阿v高清资源不卡在线播放 | 扒开双腿疯狂进出爽爽爽视频 | 又大又硬又爽免费视频 | 国产精品无码一区二区桃花视频 | 亚洲s色大片在线观看 | 波多野结衣乳巨码无在线观看 | 男人扒开女人内裤强吻桶进去 | 免费人成网站视频在线观看 | 欧美日韩一区二区免费视频 | 日韩成人一区二区三区在线观看 | 2019午夜福利不卡片在线 | 久久99精品久久久久婷婷 | 99久久婷婷国产综合精品青草免费 | 天下第一社区视频www日本 | 日韩 欧美 动漫 国产 制服 | 噜噜噜亚洲色成人网站 | 国内精品久久久久久中文字幕 | 影音先锋中文字幕无码 | 久久精品中文闷骚内射 | 野狼第一精品社区 | 日韩亚洲欧美中文高清在线 | 国产无遮挡又黄又爽免费视频 | 久久综合网欧美色妞网 | 天堂无码人妻精品一区二区三区 | 青草青草久热国产精品 | 图片区 小说区 区 亚洲五月 | 国产偷抇久久精品a片69 | 欧美精品国产综合久久 | 亚洲人成影院在线观看 | 日本在线高清不卡免费播放 | 日本精品少妇一区二区三区 | 一个人看的视频www在线 | 男女性色大片免费网站 | 伊人久久大香线蕉午夜 | 无码乱肉视频免费大全合集 | 久久这里只有精品视频9 | 丰满少妇高潮惨叫视频 | 久久精品一区二区三区四区 | 亚洲精品综合一区二区三区在线 | 国产午夜无码视频在线观看 | 亚洲精品一区二区三区婷婷月 | 色一情一乱一伦一区二区三欧美 | 免费国产成人高清在线观看网站 | 伊人色综合久久天天小片 | 久久亚洲中文字幕精品一区 | 激情五月综合色婷婷一区二区 | 亚洲成av人片天堂网无码】 | 国产农村妇女高潮大叫 | av无码电影一区二区三区 | 在线视频网站www色 | 中文亚洲成a人片在线观看 | 美女黄网站人色视频免费国产 | 精品人妻av区 | 日本免费一区二区三区最新 | 无码一区二区三区在线 | 亚洲春色在线视频 | 欧美人与物videos另类 | 国产精品久久久午夜夜伦鲁鲁 | 人妻与老人中文字幕 | 久久亚洲精品中文字幕无男同 | 日产精品高潮呻吟av久久 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 少妇性l交大片 | 色五月丁香五月综合五月 | 久久aⅴ免费观看 | 国产亚洲精品久久久久久久 | 午夜精品久久久久久久 | 2020久久超碰国产精品最新 | 亚洲天堂2017无码中文 | 成人欧美一区二区三区黑人 | 日日天干夜夜狠狠爱 | 精品国精品国产自在久国产87 | 黑人粗大猛烈进出高潮视频 | 国产内射爽爽大片视频社区在线 | 精品久久久无码人妻字幂 | 55夜色66夜色国产精品视频 | 狠狠色噜噜狠狠狠7777奇米 | 久久亚洲中文字幕精品一区 | 内射欧美老妇wbb | 樱花草在线社区www | 日韩亚洲欧美中文高清在线 | 欧美性黑人极品hd | 欧美三级a做爰在线观看 | 在线观看国产一区二区三区 | 内射爽无广熟女亚洲 | 精品偷自拍另类在线观看 | 67194成是人免费无码 | 国产凸凹视频一区二区 | 成人欧美一区二区三区黑人免费 | 久久zyz资源站无码中文动漫 | 亚洲成av人综合在线观看 | 国产精品久久久av久久久 | 精品久久久中文字幕人妻 | 亚洲精品国产a久久久久久 | 国产精品亚洲专区无码不卡 | 国产精品久久久久久久9999 | 国产 浪潮av性色四虎 | 亚洲国产一区二区三区在线观看 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产成人精品一区二区在线小狼 | 水蜜桃色314在线观看 | 国内精品久久毛片一区二区 | 亚洲精品午夜国产va久久成人 | 男人的天堂av网站 | 成年女人永久免费看片 | 久久精品女人的天堂av | 又大又紧又粉嫩18p少妇 | 荫蒂被男人添的好舒服爽免费视频 | 国产精品久久精品三级 | 天干天干啦夜天干天2017 | 免费观看的无遮挡av | 任你躁国产自任一区二区三区 | 色一情一乱一伦一视频免费看 | 人妻与老人中文字幕 | 捆绑白丝粉色jk震动捧喷白浆 | 国产卡一卡二卡三 | 51国偷自产一区二区三区 | 免费人成在线视频无码 | 日产国产精品亚洲系列 | 一本加勒比波多野结衣 | 国产麻豆精品一区二区三区v视界 | 亚洲春色在线视频 | 国产亚洲人成在线播放 | 国产精品无码mv在线观看 | 欧洲熟妇精品视频 | 男女下面进入的视频免费午夜 | 蜜臀av无码人妻精品 | 网友自拍区视频精品 | 午夜免费福利小电影 | 国产在线精品一区二区高清不卡 | 偷窥村妇洗澡毛毛多 | 亚洲色欲色欲天天天www | 国产在线一区二区三区四区五区 | 免费中文字幕日韩欧美 | 97资源共享在线视频 | 亚洲熟妇色xxxxx亚洲 | 一本色道久久综合亚洲精品不卡 | 中文精品久久久久人妻不卡 | 亚洲乱亚洲乱妇50p | 日韩欧美群交p片內射中文 | 精品久久久久久亚洲精品 | 少妇厨房愉情理9仑片视频 | 人妻互换免费中文字幕 | 久久久久久久久888 | 少妇人妻av毛片在线看 | 国产精品亚洲а∨无码播放麻豆 | 久久精品女人天堂av免费观看 | 国产精品无码永久免费888 | 夜夜高潮次次欢爽av女 | 色综合视频一区二区三区 | 国产精品理论片在线观看 | 久久精品99久久香蕉国产色戒 | 乱中年女人伦av三区 | 亚洲人成影院在线无码按摩店 | 亚洲爆乳大丰满无码专区 | 亚洲成av人在线观看网址 | 免费人成网站视频在线观看 | 2019nv天堂香蕉在线观看 | 少妇高潮一区二区三区99 | 免费乱码人妻系列无码专区 | 领导边摸边吃奶边做爽在线观看 | www国产精品内射老师 | 西西人体www44rt大胆高清 | 玩弄人妻少妇500系列视频 | 精品国偷自产在线 | 国内综合精品午夜久久资源 | 青青草原综合久久大伊人精品 | 午夜成人1000部免费视频 | 午夜熟女插插xx免费视频 | 中文字幕av无码一区二区三区电影 | 国产精品久久久午夜夜伦鲁鲁 | 国产在线精品一区二区高清不卡 | 国产亚洲精品精品国产亚洲综合 | 亚洲经典千人经典日产 | 欧美成人家庭影院 | 国产亚洲美女精品久久久2020 | 国产精品嫩草久久久久 | 色综合久久久久综合一本到桃花网 | 88国产精品欧美一区二区三区 | 欧美自拍另类欧美综合图片区 | 福利一区二区三区视频在线观看 | 日本饥渴人妻欲求不满 | av在线亚洲欧洲日产一区二区 | 性色av无码免费一区二区三区 | 欧美性色19p | 国产特级毛片aaaaaaa高清 | 亚洲欧洲无卡二区视頻 | 国产成人无码av在线影院 | 婷婷丁香六月激情综合啪 | 给我免费的视频在线观看 | 中文字幕+乱码+中文字幕一区 | 一个人看的www免费视频在线观看 | 国产性生交xxxxx无码 | 国产成人无码av片在线观看不卡 | 久久亚洲精品中文字幕无男同 | 中文字幕av伊人av无码av | 国产偷抇久久精品a片69 | 国产超碰人人爽人人做人人添 | 国产精品无码mv在线观看 | 天天av天天av天天透 | 久久综合九色综合97网 | 亚洲成av人片在线观看无码不卡 | 在教室伦流澡到高潮hnp视频 | 久久97精品久久久久久久不卡 | 中文字幕人妻丝袜二区 | 国产情侣作爱视频免费观看 | 久久午夜夜伦鲁鲁片无码免费 | 亚洲男人av天堂午夜在 | 亚洲日本一区二区三区在线 | 国产成人无码区免费内射一片色欲 | 亚洲 另类 在线 欧美 制服 | 精品一区二区三区无码免费视频 | 日本高清一区免费中文视频 | 人人澡人人透人人爽 | 熟女俱乐部五十路六十路av | 日韩精品无码一本二本三本色 | 亚洲精品国产a久久久久久 | 国产一区二区三区四区五区加勒比 | 亚洲精品中文字幕 | 国产综合色产在线精品 | 亚洲综合精品香蕉久久网 | 麻豆国产丝袜白领秘书在线观看 | 久久99热只有频精品8 | 国产卡一卡二卡三 | 精品国产av色一区二区深夜久久 | 国产一区二区不卡老阿姨 | 久久久久成人精品免费播放动漫 | 全黄性性激高免费视频 | 日本丰满护士爆乳xxxx | 蜜臀av无码人妻精品 | 日韩精品成人一区二区三区 | 国产成人无码午夜视频在线观看 | 国产猛烈高潮尖叫视频免费 | 免费乱码人妻系列无码专区 | 福利一区二区三区视频在线观看 | 性欧美大战久久久久久久 | 国产成人无码a区在线观看视频app | 久久久久99精品国产片 | 亚洲精品国产精品乱码视色 | 久久久国产精品无码免费专区 | 欧美高清在线精品一区 | 永久免费观看国产裸体美女 | 精品国产国产综合精品 | 波多野结衣 黑人 | 久久亚洲日韩精品一区二区三区 | 国产精品久久久久影院嫩草 | 中文无码成人免费视频在线观看 | 少妇人妻av毛片在线看 | 国产午夜无码视频在线观看 | 国产一区二区三区四区五区加勒比 | 内射爽无广熟女亚洲 | 色噜噜亚洲男人的天堂 | 99久久久国产精品无码免费 | 中文字幕人妻无码一区二区三区 | 成人影院yy111111在线观看 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 国内揄拍国内精品人妻 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 久久久久久a亚洲欧洲av冫 | 在线精品亚洲一区二区 | 日日橹狠狠爱欧美视频 | 帮老师解开蕾丝奶罩吸乳网站 | 无码国产色欲xxxxx视频 | 久久97精品久久久久久久不卡 | 一本色道久久综合亚洲精品不卡 | 老头边吃奶边弄进去呻吟 | ass日本丰满熟妇pics | 国产真实乱对白精彩久久 | 中文精品久久久久人妻不卡 | 性色欲情网站iwww九文堂 | 无码帝国www无码专区色综合 | 狠狠色噜噜狠狠狠7777奇米 | 久久久中文久久久无码 | 久久国产自偷自偷免费一区调 | 日韩精品乱码av一区二区 | 麻豆国产丝袜白领秘书在线观看 | 国产精品久久福利网站 | 超碰97人人射妻 | 日本一卡二卡不卡视频查询 | 99久久久无码国产aaa精品 | 双乳奶水饱满少妇呻吟 | 国产人妖乱国产精品人妖 | 在线播放免费人成毛片乱码 | a国产一区二区免费入口 | 最新国产麻豆aⅴ精品无码 | 欧美人与牲动交xxxx | 国产特级毛片aaaaaa高潮流水 | 日韩无码专区 | 国产午夜亚洲精品不卡 | 无码免费一区二区三区 | ass日本丰满熟妇pics | 2020久久超碰国产精品最新 | 亚洲日本va午夜在线电影 | 色婷婷欧美在线播放内射 | 内射巨臀欧美在线视频 | 一本久久伊人热热精品中文字幕 | 亚洲成av人在线观看网址 | 人妻aⅴ无码一区二区三区 | 国产无av码在线观看 | 国产精品高潮呻吟av久久 | 国产精品久久久一区二区三区 | 亚洲国产综合无码一区 | 久久这里只有精品视频9 | 国产精品毛片一区二区 | 黑人玩弄人妻中文在线 | 精品人人妻人人澡人人爽人人 | 午夜熟女插插xx免费视频 | 男女爱爱好爽视频免费看 | 亚洲狠狠婷婷综合久久 | 色婷婷欧美在线播放内射 | 国产真人无遮挡作爱免费视频 | 中文字幕人妻无码一夲道 | 欧美日本免费一区二区三区 | 无码免费一区二区三区 | 99久久人妻精品免费一区 | 国产莉萝无码av在线播放 | 欧洲vodafone精品性 | 疯狂三人交性欧美 | 国产成人精品必看 | 人人妻人人藻人人爽欧美一区 | 丝袜足控一区二区三区 | 在线观看免费人成视频 | 成人欧美一区二区三区 | 亚洲国产精品一区二区第一页 | 亚洲区小说区激情区图片区 | 亚洲热妇无码av在线播放 | 中文字幕乱码中文乱码51精品 | 久久aⅴ免费观看 | 亚洲国产欧美国产综合一区 | 国产精品理论片在线观看 | 无码免费一区二区三区 | 成熟女人特级毛片www免费 | 国产高清av在线播放 | 一本大道久久东京热无码av | 国产黑色丝袜在线播放 | 天干天干啦夜天干天2017 | 综合网日日天干夜夜久久 | 成人欧美一区二区三区黑人免费 | 国产精品-区区久久久狼 | 久久久精品成人免费观看 | 午夜成人1000部免费视频 | 免费男性肉肉影院 | 少妇无套内谢久久久久 | 欧美三级不卡在线观看 | 亚洲国产午夜精品理论片 | 国产精品亚洲а∨无码播放麻豆 | 成熟女人特级毛片www免费 | 国产精品久久久久7777 | 国产舌乚八伦偷品w中 | 亚洲综合在线一区二区三区 | 中文字幕无码日韩专区 | 国产av无码专区亚洲a∨毛片 | 久久久久人妻一区精品色欧美 | 国产猛烈高潮尖叫视频免费 | 国产在线精品一区二区高清不卡 | 国产内射爽爽大片视频社区在线 | 国产内射老熟女aaaa | 一个人看的www免费视频在线观看 | 大屁股大乳丰满人妻 | 曰韩少妇内射免费播放 | 中文字幕人妻无码一夲道 | 久久久亚洲欧洲日产国码αv | 国内精品人妻无码久久久影院蜜桃 | 亚洲狠狠婷婷综合久久 | 亚洲国产精品久久久天堂 | 午夜理论片yy44880影院 | 一本久久a久久精品亚洲 | 国产sm调教视频在线观看 | 国产又爽又猛又粗的视频a片 | 中文字幕乱码亚洲无线三区 | 麻豆精产国品 | 亚洲精品国产第一综合99久久 | 高潮毛片无遮挡高清免费视频 | 国产黄在线观看免费观看不卡 | 国产成人无码一二三区视频 | 亚洲国产精品一区二区第一页 | 免费看男女做好爽好硬视频 | 天天拍夜夜添久久精品大 | 国产精品亚洲专区无码不卡 | 人妻少妇精品久久 | 国产精品亚洲五月天高清 | 国产内射老熟女aaaa | 风流少妇按摩来高潮 | 又黄又爽又色的视频 | 中文字幕人妻无码一区二区三区 | 大肉大捧一进一出好爽视频 | 老司机亚洲精品影院 | 成年美女黄网站色大免费视频 | 国产精品免费大片 | 亚洲色欲久久久综合网东京热 | 影音先锋中文字幕无码 | 国产午夜无码精品免费看 | 人妻插b视频一区二区三区 | 亚洲国产精品成人久久蜜臀 | 国产精品无码一区二区三区不卡 | 最近中文2019字幕第二页 | ass日本丰满熟妇pics | 亚洲色偷偷男人的天堂 | 夜夜躁日日躁狠狠久久av | 免费无码一区二区三区蜜桃大 | 55夜色66夜色国产精品视频 | 大肉大捧一进一出好爽视频 | 一本久道高清无码视频 | 亲嘴扒胸摸屁股激烈网站 | 婷婷六月久久综合丁香 | 国产无遮挡又黄又爽免费视频 | 国产无套粉嫩白浆在线 | 国产手机在线αⅴ片无码观看 | 亚洲天堂2017无码 | 国产区女主播在线观看 | 黑人巨大精品欧美黑寡妇 | 亚洲 日韩 欧美 成人 在线观看 | 大乳丰满人妻中文字幕日本 | 少妇人妻av毛片在线看 | 一区二区三区乱码在线 | 欧洲 | 麻豆md0077饥渴少妇 | 国产精品18久久久久久麻辣 | 欧美xxxxx精品 | 少妇高潮一区二区三区99 | 日日摸日日碰夜夜爽av | 国产精品多人p群无码 | 樱花草在线播放免费中文 | 精品乱子伦一区二区三区 | 国产农村乱对白刺激视频 | 男女爱爱好爽视频免费看 | 欧美乱妇无乱码大黄a片 | 久久综合久久自在自线精品自 | 55夜色66夜色国产精品视频 | 午夜不卡av免费 一本久久a久久精品vr综合 | 思思久久99热只有频精品66 | 亚洲精品久久久久久久久久久 | 亚洲乱码日产精品bd | 日产精品99久久久久久 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 国内精品人妻无码久久久影院蜜桃 | 国产激情综合五月久久 | 欧美日韩一区二区三区自拍 | 亚洲aⅴ无码成人网站国产app | 老熟女重囗味hdxx69 | 麻豆果冻传媒2021精品传媒一区下载 | 中文字幕 亚洲精品 第1页 | 日本一区二区三区免费播放 | aⅴ在线视频男人的天堂 | 日韩亚洲欧美精品综合 | 欧美日韩人成综合在线播放 | 人妻熟女一区 | 国产内射爽爽大片视频社区在线 | 久久精品人妻少妇一区二区三区 | 樱花草在线播放免费中文 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国内综合精品午夜久久资源 | 国产偷抇久久精品a片69 | 欧美兽交xxxx×视频 | 玩弄少妇高潮ⅹxxxyw | 人妻aⅴ无码一区二区三区 | 日日鲁鲁鲁夜夜爽爽狠狠 | 熟女体下毛毛黑森林 | 少妇性俱乐部纵欲狂欢电影 | 中文字幕乱码人妻无码久久 | 欧美日韩人成综合在线播放 | 亚洲熟妇色xxxxx欧美老妇 | 国产日产欧产精品精品app | 色老头在线一区二区三区 | 国产明星裸体无码xxxx视频 | 亚洲大尺度无码无码专区 | 嫩b人妻精品一区二区三区 | 久久天天躁狠狠躁夜夜免费观看 | 国产手机在线αⅴ片无码观看 | 青青久在线视频免费观看 | 天天燥日日燥 | 内射爽无广熟女亚洲 | 欧美丰满熟妇xxxx性ppx人交 | 伊人色综合久久天天小片 | 人妻插b视频一区二区三区 | 狠狠色丁香久久婷婷综合五月 | 色 综合 欧美 亚洲 国产 | 精品少妇爆乳无码av无码专区 | 四虎国产精品免费久久 | 大乳丰满人妻中文字幕日本 | 亚洲精品午夜无码电影网 | 日韩精品a片一区二区三区妖精 | 国产av剧情md精品麻豆 | 国产激情艳情在线看视频 | 午夜男女很黄的视频 | 国产午夜无码视频在线观看 | 精品人妻人人做人人爽夜夜爽 | 性生交大片免费看女人按摩摩 | 国产精品va在线播放 | 婷婷丁香五月天综合东京热 | 精品一区二区不卡无码av | 国产av人人夜夜澡人人爽麻豆 | 麻豆成人精品国产免费 | 狠狠色欧美亚洲狠狠色www | 国产香蕉97碰碰久久人人 | 东京一本一道一二三区 | 国产免费久久精品国产传媒 | 国产精品久久国产精品99 | 色诱久久久久综合网ywww | 久久成人a毛片免费观看网站 | √天堂中文官网8在线 | 色偷偷人人澡人人爽人人模 | 精品人妻中文字幕有码在线 | 窝窝午夜理论片影院 | 精品乱子伦一区二区三区 | 国内综合精品午夜久久资源 | 美女张开腿让人桶 | 国产综合久久久久鬼色 | 亚洲男女内射在线播放 | 少妇厨房愉情理9仑片视频 | 亚洲另类伦春色综合小说 | 国产免费久久精品国产传媒 | 人妻天天爽夜夜爽一区二区 | 欧美激情内射喷水高潮 | 一本色道久久综合亚洲精品不卡 | 久久无码中文字幕免费影院蜜桃 | 午夜免费福利小电影 | 成人片黄网站色大片免费观看 | 国产极品美女高潮无套在线观看 | 一个人免费观看的www视频 | ass日本丰满熟妇pics | 亚洲色www成人永久网址 | 东京一本一道一二三区 | 黑人玩弄人妻中文在线 | 少妇厨房愉情理9仑片视频 | 免费中文字幕日韩欧美 | 永久黄网站色视频免费直播 | 欧洲精品码一区二区三区免费看 | 性色av无码免费一区二区三区 | 免费国产黄网站在线观看 | 色噜噜亚洲男人的天堂 | 综合激情五月综合激情五月激情1 | 午夜福利不卡在线视频 | 久久久久久国产精品无码下载 | 扒开双腿疯狂进出爽爽爽视频 | 精品人人妻人人澡人人爽人人 | 97夜夜澡人人爽人人喊中国片 | 午夜男女很黄的视频 | 青青青爽视频在线观看 | 人人妻人人藻人人爽欧美一区 | 国内老熟妇对白xxxxhd | 成熟女人特级毛片www免费 | 欧美熟妇另类久久久久久不卡 | 男女下面进入的视频免费午夜 | 亲嘴扒胸摸屁股激烈网站 | 精品熟女少妇av免费观看 | 欧美日韩一区二区三区自拍 | 成人欧美一区二区三区 | 欧美老熟妇乱xxxxx | 狠狠噜狠狠狠狠丁香五月 | 国产 精品 自在自线 | 国产在线精品一区二区三区直播 | 国产手机在线αⅴ片无码观看 | 风流少妇按摩来高潮 | 欧美 日韩 人妻 高清 中文 | a片在线免费观看 | 欧美老妇交乱视频在线观看 | 无码人妻精品一区二区三区不卡 | 兔费看少妇性l交大片免费 | 鲁大师影院在线观看 | 高潮毛片无遮挡高清免费视频 | 中文亚洲成a人片在线观看 | 欧美激情综合亚洲一二区 | 免费人成在线视频无码 | 亚洲欧美精品aaaaaa片 | 人人妻人人澡人人爽欧美一区 | 亚洲欧美国产精品专区久久 | 亚洲色偷偷男人的天堂 | 亚洲成在人网站无码天堂 | 欧美自拍另类欧美综合图片区 | 300部国产真实乱 | 丰满少妇熟乱xxxxx视频 | 97久久国产亚洲精品超碰热 | 日本一本二本三区免费 | 欧美肥老太牲交大战 | 少妇无套内谢久久久久 | 国产免费观看黄av片 | 国产精品无码久久av | 日韩亚洲欧美中文高清在线 | 欧美丰满熟妇xxxx | www国产亚洲精品久久网站 | 日本成熟视频免费视频 | 亚洲国产精华液网站w | 精品人妻中文字幕有码在线 | 青春草在线视频免费观看 | 久久精品国产99久久6动漫 | 亚洲精品一区二区三区婷婷月 | 亚洲精品成人福利网站 | 丰满诱人的人妻3 | 成人精品视频一区二区三区尤物 | 激情内射日本一区二区三区 | 麻豆果冻传媒2021精品传媒一区下载 | 国产三级久久久精品麻豆三级 | aⅴ在线视频男人的天堂 | 玩弄少妇高潮ⅹxxxyw | 免费中文字幕日韩欧美 | 十八禁真人啪啪免费网站 | 国产成人综合在线女婷五月99播放 | 亚欧洲精品在线视频免费观看 | 亚洲精品欧美二区三区中文字幕 | 99国产欧美久久久精品 | 久久99精品国产麻豆蜜芽 | 好男人社区资源 | 色狠狠av一区二区三区 | 亚洲 激情 小说 另类 欧美 | 成人无码影片精品久久久 | √8天堂资源地址中文在线 | 性做久久久久久久久 | 久久精品成人欧美大片 | 少妇性荡欲午夜性开放视频剧场 | 97无码免费人妻超级碰碰夜夜 | 人妻少妇精品久久 | 精品少妇爆乳无码av无码专区 | 亚洲爆乳无码专区 | 强伦人妻一区二区三区视频18 | 国产精品嫩草久久久久 | 水蜜桃亚洲一二三四在线 | 女人被男人爽到呻吟的视频 | 亚洲高清偷拍一区二区三区 | 黄网在线观看免费网站 | 狠狠色丁香久久婷婷综合五月 | 欧美放荡的少妇 | 亚洲精品一区二区三区四区五区 | 国产成人午夜福利在线播放 | 图片区 小说区 区 亚洲五月 | 中文字幕日产无线码一区 | 亚洲精品综合一区二区三区在线 | 纯爱无遮挡h肉动漫在线播放 | 亚洲人成网站色7799 | 国产精品无码久久av | 福利一区二区三区视频在线观看 | 亚洲一区二区三区含羞草 | 无码人妻精品一区二区三区不卡 | 国产精品久久久久久亚洲影视内衣 | 色妞www精品免费视频 | 亚洲国产精品美女久久久久 | 7777奇米四色成人眼影 | 亚洲码国产精品高潮在线 | 国产成人无码a区在线观看视频app | 国产成人人人97超碰超爽8 | 国精产品一品二品国精品69xx | av无码不卡在线观看免费 | 国产成人综合美国十次 | 久久久久久av无码免费看大片 | 在线亚洲高清揄拍自拍一品区 | 日本一卡二卡不卡视频查询 | 国产精品爱久久久久久久 | 亚洲伊人久久精品影院 | 国产精品久久久久久无码 | 欧美精品一区二区精品久久 | 中文字幕无线码 | 国产成人精品久久亚洲高清不卡 | 色一情一乱一伦一视频免费看 | 欧美成人高清在线播放 | 国产情侣作爱视频免费观看 | 成人试看120秒体验区 | 成人精品天堂一区二区三区 | 亚洲一区二区三区 | 小sao货水好多真紧h无码视频 | 亚洲一区二区三区在线观看网站 | 老子影院午夜精品无码 | 好男人www社区 | 自拍偷自拍亚洲精品被多人伦好爽 | 久久久精品456亚洲影院 | 久久人人爽人人爽人人片av高清 | 亚洲一区二区三区 | 日韩av无码中文无码电影 | 无码国产色欲xxxxx视频 | 一本久道高清无码视频 | 精品无人区无码乱码毛片国产 | 天天av天天av天天透 | 国产口爆吞精在线视频 | 国产舌乚八伦偷品w中 | 亚洲欧洲中文日韩av乱码 | 国产av一区二区三区最新精品 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲欧美精品伊人久久 | 少妇激情av一区二区 | 爆乳一区二区三区无码 | 高潮毛片无遮挡高清免费视频 | 嫩b人妻精品一区二区三区 | 色婷婷综合中文久久一本 | 天天做天天爱天天爽综合网 | 福利一区二区三区视频在线观看 | 亚洲爆乳精品无码一区二区三区 | 樱花草在线社区www | 无码人妻出轨黑人中文字幕 | 亚洲欧洲日本综合aⅴ在线 | 国产乱人无码伦av在线a | 狠狠噜狠狠狠狠丁香五月 | 内射欧美老妇wbb | 男女下面进入的视频免费午夜 | 亚洲无人区一区二区三区 | 亚洲精品一区二区三区在线 | 九九在线中文字幕无码 | √天堂资源地址中文在线 | 久久亚洲中文字幕无码 | 亚洲狠狠色丁香婷婷综合 | 亚洲熟妇自偷自拍另类 | 国产成人无码区免费内射一片色欲 | 国产激情精品一区二区三区 | 无码人妻出轨黑人中文字幕 | 久久午夜夜伦鲁鲁片无码免费 | 国产亚洲精品久久久久久久久动漫 | 亚洲精品综合一区二区三区在线 | 亚洲熟妇色xxxxx亚洲 | 日韩精品一区二区av在线 | 国产精品爱久久久久久久 | 在线 国产 欧美 亚洲 天堂 | 色综合久久久无码中文字幕 | 激情内射日本一区二区三区 | 婷婷丁香五月天综合东京热 | 中文字幕无码乱人伦 | 日日躁夜夜躁狠狠躁 | 夜夜高潮次次欢爽av女 | 国内精品久久毛片一区二区 |