九九99在线视频-九九99香蕉在线视频美国毛片-九九99热久久精品在线9-九九99热-九九99久久精品在免费线bt-九九99久久


曙海教育集團論壇軟硬件測試專題軟件測試 → 查找嵌入式C語言程序/軟件中的缺陷的多種技術討論


  共有9801人關注過本帖樹形打印

主題:查找嵌入式C語言程序/軟件中的缺陷的多種技術討論

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
查找嵌入式C語言程序/軟件中的缺陷的多種技術討論  發帖心情 Post By:2010-12-15 12:32:28

 

基于模式的靜態代碼分析、運行時內存監測、單元測試以及數據流分析等軟件驗證技術是查找嵌入式C語言程序/軟件缺陷行之有效的方法。上述技術中的每一種都能查找出某一類特定的錯誤。即便如此,如果用戶僅采用上述技術中的一種或者幾種來進行驗證,這樣的驗證方法很有可能會漏過對程序中的一些缺陷的檢查。解決此類問題的一種安全和有效的策略就是同時使用上述軟件驗證中的所有互補技術。這樣就能建立起一個牢固的框架來幫助用戶檢查出可能會避開某種特定技術的缺陷。與此同時,用戶也自然地建立起一個能檢測出關鍵并且難以查找的功能性錯誤的環境。

本文將詳盡闡述基于模式的靜態代碼分析、運行時內存錯誤檢測、單元測試以及數據流分析等自動化技術共同使用時是如何查找出嵌入式C語言程序/軟件中的缺陷的。本文中將以Parasoft C++test為例來演示上述各項技術。C++teST是一個經廣泛的最佳實踐證明能提升軟件開發團隊開發效率以及軟件質量的自動化集成解決方案。

當讀者在閱讀本文以及任何時候思考查找到的缺陷時,關注文中的截圖是很重要的。自動化檢測例如內存崩潰和死鎖的缺陷,毫無疑問對任何開發團隊都是一項必不可少的任務。盡管如此,最致命的缺陷卻是功能性錯誤,這往往是難以自動發現的。在本文的結論部分我們將簡要地討論一下查找這些缺陷的技術。

情景簡介

為了給出一個具體的示例,我們將就一個我們最近遇到的案例來介紹以及演示我們所推薦的缺陷查找策略:一個運行在ARM 板上的簡單傳感器應用程序。

假設我們已經創建了該應用系統,但是當我們將程序上載到系統目標板上并試圖運行該程序時,我們沒有在LCD屏上看到所預期的輸出。

我們尚不明確系統不能正常工作的原因,因此我們設法對系統進行調試,但是在目標板上進行調試是一件耗時而且煩人的事。因為我們不得不手動分析調試器的結果并試圖人工判斷出問題的真正原因。或者我們使用一些被證實能自動定位出錯誤的工具或技術來幫助我們減輕負擔。

從這一點而言,我們要么期待使用調試器來調試程序能夠帶來好運,要么我們嘗試使用一種自動化的測試策略來查找代碼中所存在的錯誤。如果自動化技術仍然沒有幫助我們查找到錯誤,那么我們不得不回到使用調試器作為最后的辦法。

基于模式的靜態代碼分析

這里,我們假設僅在絕對必要的情況下才使用調試器進行調試,因此我們從運行基于模式的靜態代碼分析開始。它將查找到如下圖所示的問題:

這是違反了 MISRA 的一個規則,此違規說明該處的賦值運算符存在一些可疑情況。的確,編程者此處的本意是使用比較運算符而不是賦值運算符。因此我們將此處檢測到的沖突修改掉,并重新運行程序。

我們發現有了一些改善:一些輸出被顯示在了LCD屏上了。但是,由于一次訪問違規,程序崩潰掉了。因此我們需要再次地做出選擇。我們是應該使用調試器還是繼續使用自動化的錯誤檢測技術。由于經驗告訴我們自動化錯誤檢測技術能非常高效地檢查出我們當前程序所遇到的內存崩潰這類問題,因此我們決定使用運行時內存監測來查找問題。

整個程序的運行時內存監測

為了進行運行時內存監測,我們使用 C++test 來插裝應用程序。這樣的插裝是輕量級的,所以經過插裝后的程序適合在目標板上運行。當我們把程序上載到目標板上并運行經過插裝的程序后,我們將結果下載到PC上,如下的錯誤將被報告出來:

該結果指出在第48行代碼處產生了一次讀取數組越界的錯誤。顯然,msgIndex變量的值肯定超過了數組的范圍。如果我們隨著堆棧追蹤上一級的原因,我們將發現此處的打印信息所指示的值的確超出了數組的范圍(因為在調用printMessage()函數前我們給出了一個錯誤的條件)。我們可以刪除掉這個不必要的條件(value <= 20)以修改這個錯誤。

void handleSensorValue(int value)

{

initialize();

int index = -1;

if (value >= 0 && value <= 10) {

index = VALUE_LOW;

} else if ((value > 10) && (value <= 20)) {

index = VALUE_HIGH;

}

printMessage(index, value);

}

然后我們重新運行程序,將不會再報告任何內存錯誤。當我們把程序上載到目標板上時,它似乎如我們預期那么在工作了。盡管如此,我們仍然有一些擔心。

我們僅查找到我們所執行的代碼路徑中的一個內存寫溢出實例,我們憑什么能夠斷定我們尚未執行到的代碼就不會有內存寫溢出錯誤了呢?如果我們檢查覆蓋率分析,我們就會發現reportSensorFailure()這個函數從未被執行到。我們有必要對這個函數進行測試,但是具體如何進行呢?建立一個調用該函數的單元測試用例就是一個不錯的辦法。

在單元測試中使用運行時內存監測:我們使用C++test的測試用例向導來創建一個測試用例的框架,并向其中添加一些測試代碼。然后運行該測試用例——以檢查上面提到的未經測試的函數,同時打開運行時內存監測功能。使用C++teST,全過程大約只需要數秒鐘。

結果標明該函數已經被覆蓋到了,但同時也查找到了新的錯誤:

我們的測試用例查找到了更多的內存相關錯誤。很顯然,當失敗處理函數被調用時,我們的內存初始化存在問題(空指針)。通過更進一步的分析,我們發現在reportSensorValue()函數中存在函數調用順序錯誤。finalize()函數先于printMessage()函數被調用,但是finalize()函數中釋放了printMessage()函數需要使用的內存。

void finalize()

{

if (messages) {

free(messages[0]);

free(messages[1]);

free(messages[2]);

}

free(messages);

}

將函數調用順序進行修改后,我們重新運行程序。

這樣我們就解決了上面報告中的第一個錯誤。現在我們再來分析報告中的第二個錯誤:即打印信息中的AccessViolatiONException。產生這個錯誤的原因是相應的消息列表未經初始化。為了解決該問題,我們在打印該信息前調用一次initialize()函數來對其進行初始化。經修改后的函數如下所示:

void reportSensorFailure()

{

initialize();

printMessage(ERROR, 0);

finalize();

}

當我們再次運行該測試用例時,僅有一個任務被報告出來:未經驗證的單元測試用例(an unvalidated unit test case),這其實并不算一條錯誤。我們只需對輸出進行一下驗證,以將該測試用例轉換為回歸測試。通過創建合適的斷言,C++test會自動為我們完成這些步驟。

接下來我們再次運行整個程序。覆蓋率分析告訴我們幾乎整個程序都已經被覆蓋到了,并且沒有發現任何內存錯誤。

這樣就結束了嗎?其實不然。雖然我們運行了整個程序并為未覆蓋到的函數創建了單元測試用例,但還是有一些路徑是沒有被覆蓋到的。我們仍然可以繼續創建單元測試用例,但是若指望通過這樣的方法來覆蓋程序中的所有路徑將耗費相當長的時間。或者我們使用另外的方法,使用數據流分析來對這些路徑進行模擬。

數據流分析

我們使用C++test的BugDetective來進行數據流分析,BugDetective能模擬系統中的不同路徑并檢查這些路徑中是否存在潛在的問題。進行數據流分析后,我們得到如下結果:

仔細分析報告的結果,我們發現程序中存在一條未被覆蓋到的潛在路徑可能會造成在finalize()函數中出現兩次free的操作。在程序中,reportSensorValue()函數調用了finalize()函數,然后finalize()函數調用了free()。同時,finalize()函數還會被mainLoop()函數調用。我們可以修改finalize()函數以使其更加智能化,從而修復這個問題,修改后的代碼如下:

void finalize()

{

if (messages) {

free(messages[0]);

free(messages[1]);

free(messages[2]);

free(messages);

messages = 0;

}

}

現在我們再次運行數據流分析,得到的結果將只有兩個問題:

這里我們可能使用了-1作為索引來訪問了數組。這是由于整型變量index被設置的初始值為-1,并且存在一條可能通過if語句的路徑在未將該整型變量正確的進行初始化之前便調用了printMessage()函數。運行時分析未檢查到這樣的一條路徑,并且該路徑很有可能在真實世界中永遠不可能被執行到。這就是靜態數據流分析相對于運真實運行時內存監測最主要的不足:數據流分析能檢查出潛在的路徑,這些路徑可能包含在程序實際執行過程中不會執行到或不存在的路徑。盡管如此,為了做到有備無患,我們刪除了上述的不必要的條件(value>=0)以修改這個潛在的錯誤。

void handleSensorValue(int value)

{

initialize();

int index = -1;

if (value <= 10) {

index = VALUE_LOW;

} else {

index = VALUE_HIGH;

}

printMessage(index, value);

}

相同地,我們也對最后一個報告的錯誤進行相應的處理。現在我們再次運行數據流分析,將不會再有錯誤被報告出來。

為了確保程序運行一切正常,我們重新運行整個分析過程。首先,我們開啟運行時內存監測并運行應用程序,一切表現正常。然后我們開啟內存監測并運行單元測試,一個任務被報告出來:

我們的單元測試檢測到reportSensorFailure()函數的行為已經發生了改變。這是由于我們已經對finalize()函數進行了修改——為了糾正之前報告的一個問題所做的修改。此處報告的任務是為了讓我們注意此修改,并提示我們應該對測試用例進行相應的審查,并且確定是否應該對代碼或者測試用例進行相應的修改,以表示這種新的行為實際上是我們所預期的行為。在檢查完代碼之后,我們發現后者(修改)是正確的并且應該更新斷言的正確條件。

/* CPPtest_TEST_CASE_BEGIN test_reportSensorFailure */

/* CPPTEST_TEST_CASE_CONTEXT void reportSensorFailure(void) */

void sensor_tests_test_reportSensorFailure()

{

/* Pre-condition initialization */

/* Initializing global variable messages */

{

messages  = 0 ;

}

{

/* Tested function call */

reportSensorFailure();

/* Post-condition check */

CPPTEST_ASSERT(0 == ( messages ));

}

}

/* CPPTEST_TEST_CASE_END test_reportSensorFailure */

作為最終的確認,我們需要獨立地運行整個程序——在IDE中關閉掉運行時內存監測來對程序進行構建。結果顯示一切如我們所預期一樣運行。

總結

作為全文的結尾,讓我們一起對上述各個步驟進行一個鳥瞰式的總結。

首先,我們開發的程序并未如我么所預期那樣運行,我們不得不在兩種解決方法中選擇一種來查找程序中的錯誤:通過運行調試器或者使用自動錯誤檢測技術。

如果我們使用調試器運行代碼來查找錯誤,我們將會看到一些很奇怪的現象:程序中的一些變量總是被賦予了相同的值。基于這種現象我們不得不通過排除法來查找問題的原因——即在應該使用比較運算符的地方我們錯誤地使用了賦值運算符。而靜態代碼分析則能為我們自動地檢查出該邏輯錯誤。運行時內存分析是不可能檢查出這種錯誤的,因為這種錯誤與內存無關。數據流分析也很有可能找不到這類錯誤因為數據流分析僅僅是通過這些路徑而不會驗證這些條件的正確性。

當我們解決了這個問題后,程序可以運行了,但是仍然還有內存相關的問題。內存相關的問題是很難被調試器發現的;當用戶使用調試器調試程序時,用戶并不知道內存的實際大小。但是自動錯誤檢查工具能夠做到這點。因此,為了查找這些內存問題,我們將整個程序進行插裝,并使用運行時內存分析工具來運行程序。這樣我們就能知道到底是那一片內存發生了寫溢出錯誤。

盡管如此,在審查覆蓋率分析結果的時候,我們注意到在目標板上測試的時候,并不是全部代碼都被覆蓋到了。通過自動化的工具得到這樣的覆蓋率信息是簡單的,因為工具會自動地

跟蹤覆蓋率,但是,如果我們是通過調試器,就不得不判斷哪一部分程序經過了驗證。而這通常只能依靠我們人工記錄的方式來實現。

當工具提醒我們一些代碼未被覆蓋到時,我們決定改變單元測試來額外地增加我們測試執行的覆蓋率。這就揭示了程序中另外一些問題。在目標系統的正常測試中,覆蓋所有函數也許是不可能完成的任務,因為其中一些函數可能是硬件的失敗處理函數或僅在某些小概率的特定情況下才會被調用的函數。而對這些函數的測試對于一些注重安全性的程序而言又是至關重要的。試想在飛機上用來處理速度傳感器問題的程序中存在著代碼錯誤:我們會有系統崩潰的危險,而不是導致某個設備為非工作狀態。因此,通過創建單元測試用例來覆蓋這類型的執行路徑往往是對其進行有效測試的唯一方法。

接下來,我們修復了工具檢查到的所有問題,同時通過驗證相應的結果創建了一個回歸測試用例(作為報告的任務之一引導我們完成)。然后我們運行數據流分析來覆蓋在目標系統上即便使用單元測試也未執行到的路徑。在此之前,我們幾乎已經達到了100%的代碼行覆蓋率,但是我們的路徑覆蓋率卻未達到這個水平。BugDetective幫我們發現了這些方面的一些潛在問題。這些問題可能并沒有實際發生或者有可能永遠不會發生。也許在實際運行時,這些問題僅僅會在當其條件滿足的情況下才會出現,并且在現實生活中,這些條件可能永遠不可能滿足。盡管如此,我們不能保證隨著代碼的升級,應用程序不會執行到這些路徑。

安全起見,我們仍然修改了所報告的問題以排除任何可能影響它的實際應用執行的風險。在修改代碼的同時,我們同時也引入了回歸測試,當我們再次運行單元測試時立即被檢測到。在所有的自動化錯誤檢測方法中,回歸測試是唯一能夠幫助我們檢查到代碼是否發生了功能性的改變的方法,并且能驗證出對代碼進行的修改是否引入了功能性的錯誤以及不可預知的副作用。最后,我們修改了回歸測試套件,并重新測試代碼,發現一切運行正常。

正如讀者所見,我們使用的一切測試方法——基于模式的靜態代碼分析、內存分析、單元測試、數據流分析以及回歸測試——并不是相互競爭的關系,恰好相反,它們是一種互補的關系。將上述工具結合使用,它們就是一套具有強大作用的工具集,并為嵌入式C語言程序/軟件提供一個無可比擬的自動化錯誤檢測解決方案。

總而言之,通過自動地查找很多關于內存和其它編碼的缺陷,我們成功地讓程序運行起來了。盡管如此,值得注意的是,最危險的缺陷卻是實際的功能性錯誤:例如程序并未如所指定的要求運行。而不幸的是,這些錯誤往往是非常難以被發現的。

查找這類缺陷的最好的一個方式就是通過同行代碼審查來實現。即另指派至少一人來檢查代碼并且審查代碼與需求內容的一致性,這樣用戶就能對實際程序是否會如預期那樣運行有一個很好的*估。

另外一個十分有用的策略是圍繞代碼創建一個回歸測試套件,這能幫助用戶快捷地驗證代碼與規范的一致性。在本文所描述的示例情景中,單元測試被用來強制執行應用程序級的運行時內存監測所未覆蓋到的代碼:它能覆蓋到當前程序的功能性,在此之后,我們對代碼做了一些修改,它能提醒我們代碼出現的相應的功能性問題。事實上,這種單元測試用例應該被更早地創建起來:理想情況下,當用戶在實現程序的功能時就應該被創建起來。這樣,用戶就能得到更高的覆蓋率并同時構建起一個更強壯的“安全網”來捕捉關鍵的功能性改變。

Parasoft的C++test能幫助用戶完成這兩個任務:從自動化到管理同行代碼審查流程,以及幫助團隊創建,持續地運行并維護一個高效的回歸測試套件。

關于Parasoft C++test

Parasoft C++test是一個經廣泛的最佳實踐證明能提升軟件開發團隊開發效率以及軟件質量的自動化集成解決方案。C++test能進行諸如編碼策略增強、靜態代碼分析、運行時內存監測、自動同行代碼審查以及單元和組件測試,從而為軟件開發團隊提供一種更加實用的方法來確保其C以及C++程序能如所預期那樣工作。C++test可以用于在通用開發IDE下的桌面平臺中,以及在回歸測試時通過命令行以批處理模式的方式運行。同時,C++test還集成了Parasoft的報告系統,該系統能提供具有細分能力的基于Web 的儀表板,這使得開發團隊根據C++test的測試結果和其他的一些關鍵進程指標來更加方便地跟蹤項目的狀態和趨勢。

通過在宿主機上進行大量的測試以及在目標系統中進行的平滑的驗證,C++test能夠幫助軟件開發團隊減少花在嵌入式系統開發中的時間、精力以及成本。隨著代碼在宿主機上的構建,C++test的自動化框架使得開發者能在目標硬件系統尚未準備好的情況下就開始測試以提升代碼質量。這大大地縮短了花在目標系統上測試的時間。早期在宿主機上構建的測試套件可以被重用來在仿真器或真實的目標板上驗證程序的功能性。


支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

查找嵌入式C語言程序/軟件中的缺陷的多種技術討論








簽名
主站蜘蛛池模板: 久久精品国产2020 | 亚洲 欧美 综合 另类 中字 | 超碰最新在线 | 顶级少妇mm131美女艺术 | 免费成人毛片 | 久草一区二区 | 又色又爽又黄又免费的照片 | 亚色网站| 99久久婷婷国产精品综合 | 免费不卡的av | 色婷婷午夜 | 少妇脚交调教玩男人的视频 | 天天aaaaxxxx躁日日躁 | 久久久网站 | 黑鬼大战白妞高潮喷白浆 | 精品人妻一区二区三区四区 | 亚洲一区二区三区四区五区中文 | 少妇二级淫片免费 | 国产免费观看久久黄av片 | 无码专区亚洲综合另类 | 欧美乱大交xxxxx | 激情久久一区 | 亚洲国产黄 | 台湾女老板性三级 | 国产精品成人久久久 | 国产精品人人妻人人爽人人牛 | 在线播放黄色网址 | 黄色一级片在线看 | 亚洲熟妇av一区二区三区浪潮 | 毛片女人 | 久久婷婷五月国产色综合 | 国产乱子伦一区二区三区四区五区 | 国产女人与zoxxxx另类 | 一级黄色片免费 | 国产综合色视频 | 精品少妇爆乳无码av无码专区 | xfyy5566黑夜在线手机版 | 一级欧美视频 | 髙清国产性猛交xxxand | 不卡中文av | 亚洲911精品成人18网站 | 国产乱妇无码大片在线观看 | 亚洲熟妇av综合网 | 激情内射亚洲一区二区三区爱妻 | 国产稀缺真实呦乱在线 | 国产极品久久久 | 性视频一区 | 精品人妻中文无码av在线 | 亚洲乱码国产乱码精品精的特点 | 色播在线观看 | 日本老头xxxx视频 | 国产成人无码a区在线视频无码dvd | 无码日韩精品一区二区免费 | 国产zzjjzzjj视频全免费 | 日韩美一区二区三区 | 激情久久久久久 | 中文字幕精品三区 | 色噜噜在线| 丁香狠狠色婷婷久久综合 | 肥婆大荫蒂欧美另类 | 日韩av一卡二卡 | 国产95在线| 波多野结衣电车 | 欧美猛男性猛交视频 | 精品国产污污免费网站入口爱酱 | 天天色影综合网 | 久久成人一区 | 懂色av色香蕉一区二区蜜桃 | 欧美性猛交xxx乱大交3蜜桃 | 亚洲精品国产精品乱码视色 | 色婷婷国产精品久久包臀 | 天天看片天天操 | 久久精品国产精品亚洲精品 | 久久国产夜色精品鲁鲁99 | 成人手机在线视频 | 无遮挡aaaaa大片免费看 | 亚洲操片 | 日韩人妻无码精品久久 | 新婚之夜疯狂做爰视频一区二区 | 99精品国产一区二区三区不卡 | 神马久久久久久久久久 | 粗大的内捧猛烈进出视频 | av 日韩 人妻 黑人 综合 无码 | 91麻豆免费视频 | 日本牲交大片免费观看 | 亚洲精品av天天看1080p | 亚洲一区二区三区不卡视频 | 人成在线视频 | 老鸭窝视频在线观看 | www亚洲com| 无码人中文字幕 | av夜色| 国产精品精品久久久久久甜蜜软件 | 免费精品一区二区三区视频日产 | 国产又黄又大又粗视频 | 做爰猛烈叫床91 | 久久短视频 | 欧美老熟妇又粗又大 | 大伊香蕉精品一区视频在线 | 亚洲最大黄网 | 九色porny丨首页入口网页 | 啪在线视频 | 澳门av网站| 国产欧美精品一区二区三区-老狼 | 国产普通话对白刺激 | 久久影音 | 日本少妇久久 | 国产一区二区播放 | 婷婷激情四射 | 尹人综合 | 亚洲 日韩 欧美 成人 在线 | 成人传媒 | 日韩免费一区二区 | 国产在线激情视频 | 亚洲黄色在线观看视频 | 久久五月视频 | 欧美日激情日韩精品嗯 | 午夜视频欧美 | 色视频在线观看 | 日韩毛片一区二区三区 | 精品久久久久久亚洲精品 | 97免费公开视频 | 精品久久久久久成人av | 精东粉嫩av免费一区二区三区 | 台湾女老板性三级 | 中文字幕在线国产 | 91porny在线| 懂色av中文一区二区三区天美 | 在线观看aa | 欧美日韩国产一区二区三区 | 老色鬼在线精品视频在线观看 | 日韩免费av片 | 日本理论片免费观看在线视频 | 国产成人无码aⅴ片在线观看 | 亚洲欧美日韩高清 | 午夜激情四射 | 国内精品久久久久影院中文字幕 | 国产1区2区3区 | 蜜臀av在线播放一区二区三区 | 美女破处视频 | 深爱婷婷 | 三上悠亚久久精品 | 粉嫩av蜜桃av蜜臀av | 精品欧美乱码久久久久久 | 香港三级精品三级在线专区 | 国产精品伦一区二区在线 | 苍井空亚洲精品aa片在线播放 | 91精品国产爱久久丝袜脚 | 少妇伦子伦精品无吗在线观看 | 成人免费网站入口www | 人善交video另类hd侏儒 | 中国成人毛片 | 日老女人视频 | 搡老女人老妇女老熟妇 | 98国产精品午夜免费福利视频 | 94久久国产乱子伦精品免费 | 亚洲欧洲av综合色无码 | 看av免费 | 免费福利小视频 | 深夜在线播放 | 免费国产在线麻豆网站 | 成人一级毛片视频 | 国产精品久久久久久妇女 | 少妇扒开双腿自慰出白浆 | 国产亚洲网站 | 97超碰碰碰 | 日本理伦少妇4做爰 | 97精品国产97久久久久久免费 | 日日舔夜夜摸 | 亚洲粉嫩| 久久久久久久久久久久久大色天下 | 亚洲日韩看片无码超清 | 好了av在线 | 成人自拍视频网 | 377p日本欧洲亚洲大胆张筱雨 | 欧美性xxxxx极品娇小 | 国产一区二区三区四区五区精品 | 亚洲s色大片在线观看 | 三级不卡视频 | 尤物99av写真在线 | 99视频一区二区 | 深爱五月综合网 | 欧美乱妇高清无乱码一级特黄 | 成人福利视频 | 日本少妇喂奶视频 | 免费精品久久久久久久一区二区 | 欧美日韩a v| 日本久久久一区二区三区 | 成人欧美日韩一区二区三区 | 成人国产欧美日韩在线视频 | 日本中文字幕在线播放 | 精品福利一区二区 | 欧美丰满老妇性猛交 | 国自产拍偷拍精品啪啪一区二区 | 一级一片免费看 | av免费在线观看不卡 | 色噜噜狠狠一区 | 国产一区二区三区精品视频 | 日韩精品一区二区三区视频 | 婷婷伊人网 | 丰满人妻一区二区三区无码av | 美女视频黄8视频大全 | 91大神小宝寻花在线观看 | 日本欧美一区二区三区不卡视频 | 男人的天堂av高清在线 | 久久中文字幕网 | 久久国产精品二国产精品 | 狠久久| 亚洲第一福利网站 | 一级特黄高清 | 欧美大片一区二区 | 国产在线拍揄自揄拍无码视频 | 四虎国产精品永久地址99 | 天天看天天摸天天操 | 永久免费汤不热视频 | 色婷婷九月 | 在线观看成人无码中文av天堂 | 久草在线资源福利站 | 久久影音 | 永久免费的av在线电影网无码 | 亚洲成人77777| 影音先锋在线资源无码 | 国产午夜福利片在线观看 | 亚洲国产精品久久久天堂不卡 | 97精品伊人久久久大香线蕉 | 一日本道a高清免费播放 | 婷婷色一区二区三区 | 国产精品嫩草久久久久 | 亚洲情涩| 91嫩草香蕉| 五月天婷婷在线观看 | aaa在线播放| 亚洲成a人蜜臀av在线播放 | 国产精品无码久久综合网 | 黄色免费成人 | 97超级碰碰人国产在线观看 | 大rb狠狠地给你这y荡的视频 | 国产婷婷精品av在线 | 3d动漫精品h区xxxxx区 | 国产偷国产偷亚洲精品孕妇 | 囯产精品久久久久久久久久妞妞 | 中文字幕国产一区二区 | 午夜视频一区二区三区 | 三级黄色在线视频 | 九草在线视频 | 亚洲欧美日韩久久精品第一区 | 麻豆av毛片 | 色狠狠久久av五月综合 | 人日人视频| 午夜毛片在线观看 | 精品欧美一区二区三区在线观看 | 欧美极品在线 | 九九视频九九热 | 啪啪在线观看 | 在线人成视频播放午夜福利 | 在线观看视频毛片 | proumb性欧美在线观看 | 天堂av资源网 | 无码午夜成人1000部免费视频 | 麻豆出品必属精品 | 按摩师高h荡肉呻吟在线观看 | 久久久久久av无码免费网站 | 亚洲熟女乱综合一区二区 | 性一交一乱一乱一视频 | 日本黑人一区二区免费视频 | 国产精品宾馆在线精品酒店 | 免费无码成人片 | 野外少妇愉情中文字幕 | 国产91精品高潮白浆喷水 | 久久久久国产精品人妻 | 日本边添边摸边做边爱喷水 | 亚洲色成人网一二三区 | 夜夜欢性恔免费视频 | 无码粉嫩虎白一线天在线观看 | 潘金莲aa毛片一区二区 | 在线观看亚洲专区 | 久久蜜桃av一区精品变态类天堂 | 一区二区三区四区免费视频 | 亚洲男男网站gy2020 | 天堂精品在线 | 天天射天天草 | 国产资源av | 捆绑裸体绳奴bdsm亚洲 | 黑白配高清在线观看免费版中文 | 97国产精品视频人人做人人爱 | 精品国产免费看 | 久久αv | 亚洲综合欧美综合 | 美女黄色一级片 | 大伊人网 | 99国内精品久久久久久久夜夜嗨 | 国产精品一区二区在线观看网站 | 91大神视频在线播放 | 国产乱淫av免费观看 | 在线播放黄色av | 涩五月婷婷 | 男女日批视频 | 精品无人码麻豆乱码1区2区 | 天天做天天摸天天爽天天爱 | 伊人久久大香线蕉亚洲 | 国产69久久精品成人看 | 波多野结衣亚洲视频 | 日产精品入口 | 久久岛国| 国产高清自拍一区 | 看全色黄大色大片免费 | 成人性能视频在线 | jizz视频在线观看 | 久久亚洲精品无码va白人极品 | 中文字幕亚洲一区二区三区 | 亚洲欧美日韩成人高清在线一区 | 又黄又爽又高潮免费毛片 | 中文字幕综合网 | 国产精品污www一区二区三区 | 国产三级久久久久 | 精品中出| 欧产日产国产精品视频 | 一区二区三区偷拍 | 性猛交xxxx乱大交孕妇2 | 国产精品va在线播放我和闺蜜 | 成人深夜在线 | 国产免费拔擦拔擦8x高清在线人 | 日本伊人精品一区二区三区 | 91成人在线看 | 爱情岛论坛亚洲品质自拍网址大全 | 欧美日韩中文在线 | 中文字幕乱码一区二区三区 | 天天躁日日躁狠狠躁喷水 | 精品成人在线观看 | 在线免费观看黄网 | 中文字幕文字暮 | 免费的又色又爽又黄的片捆绑美女 | 国产成人无码久久久精品一 | 亚洲人成网站在线播放2019 | 欧美天天综合色影久久精品 | 日本无码人妻精品一区二区蜜桃 | 久青草国产在视频在线观看 | 周妍希大尺度国产一区二区 | 青青青青青操 | 99久久婷婷国产综合精品青牛牛 | 亚洲国产成人精品久久久国产成人一区 | 成人一级免费视频 | 黄色永久网站 | 二区影院 | 中字av在线 | 一本大道加勒比免费视频 | 热99re久久精品这里都是精品 | 国产激情综合五月久久 | 欧美熟妇丰满肥白大屁股免费视频 | 久久久久久久久久久久久久久 | 久久国产成人 | 欧美真人作爱免费视频 | zzzwww在线观看免 | 1000午夜黄三级 | 亚洲日本va在线视频观看 | 国产成人8x视频网站入口 | 欧美精品一区二区久久 | 国产猛男猛女超爽免费视频 | 色臀av | 91精品国产综合久久香蕉最新版 | 老女人激情视频 | xxddcc羞羞答答网址. | 午夜性刺激免费看视频 | 少妇特黄a一区二区三区 | 黄站在线观看 | 国产免费一区二区三区香蕉精 | 欧美精品一区二区在线观看 | 北岛玲一区二区三区四区 | www国产在线 | 亚洲精品国产一区二区 | 国产97色在线 | 亚洲 | 五月天久久综合 | 国产亚洲成av人片在线观看下载 | 99在线精品免费视频九九视 | 日韩黄色影片 | 一区二区三区黄色片 | 97久久超碰国产精品2021 | 激情网站免费 | 97人人模人人爽人人喊38tv | 少妇高潮一区二区三区 | 国产刚发育娇小性色xxxxx | 亚洲视频在线免费 | √8天堂资源地址中文在线 丰满少妇人妻久久久久久 a片在线免费观看 | 日日碰狠狠躁久久躁综合小说 | 成人爱爱 | 97人人模人人爽人人少妇 | 干夜夜 | 欧美激情自拍偷拍 | 久久久免费观看 | 欧美成人中文字幕 | 欧美日韩二三区 | 丝袜足脚交91精品 | 国产精品中文久久久久久久 | 天堂在/线中文在线资源 官网 | 超碰最新在线 | 成人动漫在线观看 | 国产乱子经典视频在线观看 | 一级片黄色毛片 | 三级欧美视频 | 99亚洲天堂 | 中日韩精品视频在线观看 | 日本一级淫片 | 日韩av影院在线观看 | 久久午夜夜伦鲁鲁片免费无码影视 | 亚洲精品美女久久久久久久 | 69xx欧美 | 学生丨6一毛片 | 疯狂做受xxxx国产 | 国内精品久久久久久久影视红豆 | 国产99视频精品免视看7 | 国内爆初菊对白视频 | 成人性生交大片免费卡看 | 精品视频九九 | 动漫av永久无码精品每日更新 | 日本老妇70sex另类 | 精品九九久久 | 国产亚洲第一伦理片在线c 国产亚洲精品久久久久动 国产亚洲精品久久久久久大师 | 色妞av永久一区二区国产av开 | 国产精品综合一区二区三区 | 爱爱网站免费 | 精品视频一区二区 | 欧美国产日韩一区二区 | 日本老太婆做爰视频 | 亚洲欧美一区二区三区在线 | 亚洲处破女av日韩精品 | 中文av一区二区三区 | 2018天天拍拍天天爽视频 | 国产91在线播放九色000 | 制服 丝袜 激情 欧洲 亚洲 | 朝鲜大乳女奶水奶水吃奶视频在线 | 91精品国产色综合久久不卡粉嫩 | wwwse99午夜com| 日韩a∨| 亚洲一区二区在线视频 | 特黄特色大片免费播放叫疼 | 少妇和子乱视频 | 佐佐木明希奶水喷出在线视频 | 国产精品无码素人福利不卡 | 浮妇高潮喷白浆视频 | 国产一级特黄,真人毛片 | 久久作爱视频 | 日日干干 | 成人做受黄大片 | 国产一区在线看 | 欧州一区二区 | 久久五月天婷婷 | 动漫av在线 | 99riav6国产情侣在线看 | 欧美交a欧美精品喷水 | 草裙社区精品视频播放 | 九九九九九依人 | a级a做爰片成人毛片入口 | 无人区码一码二码w358cc | 国产香蕉网 | 色妞视频男女视频 | 水蜜桃亚洲一二三四在线 | 宅男666在线永久免费观看 | 亚洲精品白浆高清久久久久久 | 黄色在线观看免费视频 | 天天操天天舔天天干 | 久久99国产亚洲高清观看首页 | 亚洲欧美日韩综合一区二区 | 超碰97人人射妻 | 免费操 | 成人av自拍| 黄色av免费网址 | 国产变态拳头交视频一区二区 | 天堂在线免费观看视频 | 午夜免费无码福利视频 | 东北话对白xxxx | 亚洲国产成人91精品 | 国内精品人妻无码久久久影院蜜桃 | 日韩特黄特色大片免费视频 | 欧美一区二区三区成人久久片 | 五月天激情视频 | 久久99国产综合精品免费 | 中文字幕久久久 | 欧美自拍视频在线 | 天堂在线视频免费 | 欧美久久久久久久久久 | 国产精品成人免费视频一区二区 | 成人一区视频 | 俄罗斯少妇性高清ⅹxx | 黑人一区二区 | 国产日韩欧美视频免费看 | 1024国产精品 | 日本视频网 | 国产精品日日躁夜夜躁欧美 | 亚洲视频在线看 | 久久综合九色综合网站 | 日韩精品日韩激情日韩综合 | 国产日韩欧美另类 | 黄色骚视频 | 国产精品无码久久久久久 | 成人精品免费在线观看 | 色婷婷久久综合中文久久一本 | 国产真人无遮挡作爱免费视频 | 国产精品一线二线 | 国产精品白丝av嫩草影院 | 成人精品国产一区二区4080 | 日韩av午夜在线观看 | 日日摸日日踫夜夜爽无码 | 国产成人精品优优av | 亚洲女初尝黑人巨 | 三级网站| 国产a级片免费看 | 成年人黄色一级片 | 国产在线激情 | 欧美一区亚洲一区 | 久久婷婷成人综合色 | 五月天色站 | 男女午夜影院 | 国产亚洲一区二区在线观看 | 欧美视频一区二区三区四区在线观看 | 成人一区二区在线 | 国精品无码一区二区三区在线 | 亚洲一区二区三区免费看 | 亚洲精品欧美综合二区 | 色播av| 国产亚洲精品久久久久久大师 | 欧美黑人又粗又大高潮喷水 | 一本岛高清乱码2020叶美 | 97精品| 国产真实乱偷精品视频 | 国产哺乳奶水91porny | 嫩草网站入口 | 性色av无码久久一区二区三区 | 久青草视频在线观看 | 欧美三日本三级少妇99印度 | 精品无码国产自产拍在线观看蜜 | 久久国产免费 | 成人免费小视频 | 91精品一区二区 | 搡老女人老妇女老熟妇 | 天堂网中文在线www 三级网站视频在在线播放 热99re6久精品国产首页青柠 | 中文字幕乱码一区av久久不卡 | 日本午夜一区二区 | 国产日韩欧美在线观看 | 欧美日本一二三区 | 丰满人妻妇伦又伦精品国产 | 少妇高潮惨叫久久久久久 | 人人爽人人爽人人片av东京热 | 欧美另类tv | 人人草人人爱 | 无码乱人伦一区二区亚洲一 | 少妇视频网站 | 国产页| 亚洲ww77777影视 | 精品少妇人妻av免费久久洗澡 | 少妇精品偷拍高潮白浆 | 欧美成人三级在线 | 狠狠躁夜夜躁人人爽蜜桃 | 99久久精品免费看国产四区 | 国产一区二区三区成人久久片老牛 | 国产精品久久久久久久久免费高清 | 九九热爱视频精品视频 | 亚洲色精品aⅴ一区区三区 国产黄大片在线观看 | 黑人巨大精品欧美一区二区免费 | 欧美人与物videos另类xxxxx | 4虎tv| 激情综合一区二区三区 | 精品日韩在线 | 日韩大片免费 | 成人婷婷网色偷偷亚洲男人的天堂 | 国产www视频 | yes4444视频在线观看 | 91精产国品一二三产区区别网站 | 沉溺于黑人叶爱中文字幕 | 裸体丰满少妇做受久久99精品 | 青青草99热| 亚洲成av人乱码色午夜 | 男女啪啪免费 | 玉米视频成人免费看 | 黄色日本视频 | 狠狠色噜噜狠狠色综合久 | 日本欧美一区 | 国产精品人妖 | 欧美aⅴ | 野外吮她的花蒂高h在线观看 | 伊甸园成人入口 | 夜夜添狠狠添高潮出水 | 日本少妇北岛玲xxxhd | 久久久久国产精品人妻aⅴ毛片 | 久久99操| 成人国产精品免费视频 | 亚洲国产欧美日本视频 | 先锋资源中文字幕 | 日本阿v免费观看视频 | 亚洲精品第一 | 亚洲欧美中文日韩在线v日本 | 一二区在线观看 | 成人777| 少妇高潮网站 | 无遮挡1000部拍拍拍免费 | 精品日韩欧美 | 日本特黄一级大片 | 色又黄又爽18禁免费视频 | x7x7x7成人免费视频 | 青青草五月天 | 色视频www在线播放国产成人 | 正在播放凉森玲梦88av | 免费观看一级淫片 | 精品国产一区二区三区av 性色 | 欧美日韩综合一区二区三区 | 成人性生生活性生交视频 | 亚洲一区精品人人爽人人躁 | 我们高清中文字幕mv的更新时间 | 色之综合天天综合色天天棕色 | 日韩欧美人妻一区二区三区 | 小雪好紧好滑好湿好爽视频 | 亚洲无线码在线一区观看 | 免费一级片网址 | 十八禁视频网站在线观看 | 免费一级淫片日本高清视频一 | 国产69精品久久99的软件特点 |