精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

阿里開源的那個(gè)牛X的問題排查工具,推出IDEA插件了!

新聞 開發(fā)工具
作為小開發(fā)的我,日常需要排查線上運(yùn)營同學(xué)提的各種 bug、各種線上問題診斷、日常運(yùn)維、線上問題優(yōu)化等等。 Arthas 對于很多 Java 開發(fā)者來說,已經(jīng)不可分割了,在我們?nèi)粘i_發(fā)、線上問題排查中扮演了非常重要的角色。

Arthas 對于很多 Java 開發(fā)者來說,已經(jīng)不可分割了,在我們?nèi)粘i_發(fā)、線上問題排查中扮演了非常重要的角色。作為小開發(fā)的我,日常需要排查線上運(yùn)營同學(xué)提的各種 bug、各種線上問題診斷、日常運(yùn)維、線上問題優(yōu)化等等。

在剛來公司時(shí),我是比較恐懼運(yùn)維任務(wù)的,代碼不熟悉、各種問題比較多...幾乎崩潰的狀態(tài),運(yùn)維的一周基本上沒有干活,完全是全身心投入到運(yùn)維的任務(wù)中,排查問題效率低下。

由于深刻體驗(yàn)到了這種奔潰,我一直想改變這種狀態(tài),直到 Arthas 的開源,讓我在這種崩潰的狀態(tài)中減輕了不少負(fù)擔(dān),同時(shí)也讓我成為了同事們咨詢 Arthas 排查問題的小幫手~~ 雖然使用 Arthas 特別方便,但在此過程中也遇到一些問題,作為問題咨詢小幫手也感到有點(diǎn)不方便,因此才造就了 Arthas idea 插件的誕生。

目前 Arthas 官方的工具還不夠簡單,需要記住一些命令,特別是一些擴(kuò)展性特別強(qiáng)的高級語法,比如 ognl 獲取 spring context 為所欲為,watch、trace 不夠簡單,需要構(gòu)造一些命令工具的信息,因此只需要一個(gè)能夠簡單處理字符串信息的插件即可使用。

當(dāng)在處理線上問題的時(shí)候需要最快速、最便捷的命令,因此 Idea Arthas plugin 插件還是有存在的意義和價(jià)值的。---這個(gè)是最初編寫這個(gè)插件的最核心的理由。

Arthas IDEA plugin 實(shí)踐

Arthas 的功能點(diǎn)非常的多(詳見下方大圖),這里就不一一的講解了,可以參考使用文檔 ,不過最近一直在更新,使用文檔中的命令名稱可能有變化。

插件安裝

下載 arthas idea 插件: https://plugins.jetbrains.com/ ... -idea

  • Mac:  Preferences  ->  Plugins
  • Windows: Settings  ->  Plugins

Install Plugin form Disk... 導(dǎo)入插件

安裝之后重啟 IDEA 就可以愉快的使用啦!

獲取 static 變量

首先要獲取 classloader 的 hash 值,然后獲取命令,這個(gè)是一個(gè)交互流程需要連貫性,后續(xù)只要是 static 的通過 static spring context 的都需要有這個(gè)交互的流程,連貫的,都在同一個(gè)界面進(jìn)行操作.粘貼執(zhí)行,然后獲取結(jié)果即可。

這里的 classloader 的 hash 值緩存起來的

最后合并的腳本如下。

  1. yaml 
  2.  
  3. ognl  -x  3 '@com.wangji92.arthas.plugin.demo.controller.StaticTest@INVOKE_STATIC_NAME' -c 316bc132 

反射設(shè)置 static field

通過反射進(jìn)行設(shè)置 static field ,參考: https://github.com/WangJi92/ar ... ues/1

填寫你想要修改的值、默認(rèn)根據(jù)類型設(shè)置默認(rèn)值 Str->"" Long -> 0L 等等。

  1. yaml 
  2.  
  3. ognl -x 3  '#field=@com.wangji92.arthas.plugin.demo.controller.StaticTest@class.getDeclaredField("INVOKE_STATIC_FINAL"),#modifiers=#field.getClass().getDeclaredField("modifiers"),#modifiers.setAccessible(true),#modifiers.setInt(#field,#field.getModifiers() & ~@java.lang.reflect.Modifier@FINAL),#field.setAccessible(true),#field.set(null,"設(shè)置的值")' -c 316bc132 

Spring Context Invoke

通過 spring context 進(jìn)行調(diào)用 bean 的方法、字段的內(nèi)容。

Static Spring Context Invoke Method Field

首頁要設(shè)置一下 static spring context 的路徑。

由于都是通過 ognl 調(diào)用 static 的 spring context 都需要 classloader,這個(gè)就是配置的 spring conetxt 的地址信息:

@com.wangji92.arthas.plugin.demo.common.ApplicationContextProvider@context 參考 demo 就需要配置這個(gè)地址。

  1. yaml 
  2.  
  3. ognl -x 3 '#springContext=@com.wangji92.arthas.plugin.demo.common.ApplicationContextProvider@context,#springContext.getBean("commonController").getRandomInteger()' -c 316bc132 

Watch Spring Context Invoke Method Field

watch 這個(gè)是支持在 spring mvc 場景,通過 watch 間接的獲取 spring context,需要出發(fā)一次接口的調(diào)用,可以參考 : https://github.com/WangJi92/ar ... ues/5

  1. yaml 
  2.  
  3. watch -x 3 -n 1  org.springframework.web.servlet.DispatcherServlet doDispatch '@org.springframework.web.context.support.WebApplicationContextUtils@getWebApplicationContext(params[0].getServletContext()).getBean("commonController").getRandomInteger()' 

TimeTunnel Spring Context Invoke Method Field

這個(gè)是參考了橫云斷嶺的 arthas 通過 tt 獲取 spring context 為所欲為 ,可以參考這個(gè)文檔: https://github.com/WangJi92/ar ... ues/4 這里做了些什么?將整個(gè)連貫了起來,不需要記住參數(shù)信息,然后對于調(diào)用的參數(shù)進(jìn)行簡單的默認(rèn)封裝,復(fù)雜的參數(shù)場景不支持,需要手動(dòng)拼接。

記錄獲取 spring context

  1. yaml 
  2.  
  3. tt -t org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter invokeHandlerMethod 

然后根據(jù)這個(gè) target 獲取 spring context 調(diào)用方法

  1. yaml 
  2.  
  3. tt -w 'target.getApplicationContext().getBean("commonController").getRandomInteger()' -x 3 -i 1000 

獲取某個(gè) spring 環(huán)境變量

獲取 spring 環(huán)境變量這里依托,static spring context ,當(dāng)然這個(gè) watch 、和 tt 獲取 spring context 的場景也是支持的。在線上環(huán)境、測試環(huán)境程序多復(fù)雜,你怎么知道環(huán)境中的變量一定是你配置的?在 nacos 等等配置中心的場景,估計(jì)手速慢了一點(diǎn)點(diǎn),可能就沒有上去,這個(gè)時(shí)候就有這種需求獲取當(dāng)前的環(huán)境變量。選中變量,然后右鍵執(zhí)行命令。由于使用靜態(tài)的 static spring context 依然需要 classloader 的值。這里已經(jīng)基本上是 arthas 的上層應(yīng)用啦。

  1. yaml 
  2.  
  3. ognl -x 3 '#springContext=@com.wangji92.arthas.plugin.demo.common.ApplicationContextProvider@context,#springContext.getEnvironment().getProperty("custom.name")' -c 316bc132 

獲取全部的 spring 環(huán)境變量

比較優(yōu)先級,最前面的一定優(yōu)先級最高,你一定被 spring 的各種優(yōu)先級順序搞暈了,那么怎么辦呢?arthas idea plugin 支持獲取當(dāng)前的全部的環(huán)境變量,依次打印出來, 這樣就可以了解優(yōu)先級 ,特別是接入了 nacos、diamond 等遠(yuǎn)程的配置中心,實(shí)現(xiàn)不一樣肯定更暈了。

參考文檔: https://blog.csdn.net/xunjiush ... 50139

  1. yaml 
  2.  
  3. ognl -x 3 '#springContext=@com.wangji92.arthas.plugin.demo.common.ApplicationContextProvider@context,#allProperties={},#standardServletEnvironment=#propertySourceIterator=#springContext.getEnvironment(),#propertySourceIterator=#standardServletEnvironment.getPropertySources().iterator(),#propertySourceIterator.{#key=#this.getName(),#allProperties.add("                "),#allProperties.add("------------------------- name:"+#key),#this.getSource() instanceof java.util.Map ?#this.getSource().entrySet().iterator.{#key=#this.key,#allProperties.add(#key+"="+#standardServletEnvironment.getProperty(#key))}:#{}},#allProperties' -c 316bc132 

TimeTunnel Tt

方法執(zhí)行數(shù)據(jù)的時(shí)空隧道,記錄下指定方法每次調(diào)用的入?yún)⒑头祷匦畔ⅲ⒛軐@些不同的時(shí)間下調(diào)用進(jìn)行觀測(可以重新觸發(fā),周期觸發(fā),唯一缺點(diǎn)對于 ThreadLocal 信息丟失[隱含參數(shù)]、引用對象數(shù)據(jù)變更無效),這個(gè)方便二次觸發(fā),特別是自己調(diào)試不方便的情況下記錄下來,二次觸發(fā)、周期觸發(fā),不過自從段嶺大神 tt 為所欲為之后都被帶偏了。這里 arthas 插件做了一些什么?增加了二次觸發(fā)的一些常用的命令,不讓使用者愁于記憶,整個(gè)過程更加的具有連貫性。

stack 堆棧

獲取方法從哪里執(zhí)行的調(diào)用棧(用途:源碼學(xué)習(xí)調(diào)用堆棧,了解調(diào)用流程) 這個(gè)是非常好用的功能,對于喜歡樂于排查問題的小伙伴真是福音,arthas idea 插件只是修改的命令的集成,之前也處理自己編碼過程中的問題,源碼、問題排查技巧-Java Debug and Arthas: https://blog.csdn.net/u0128819 ... 91529

  1. yaml 
  2.  
  3. stack com.wangji92.arthas.plugin.demo.controller.CommonController getRandomInteger -n 5 

Decompile Class Jad

反編譯方法、類的源碼, 有時(shí)候需要查看提交的代碼是否上線呢?這個(gè)功能就非常的友好。

參考文檔: https://github.com/WangJi92/arth!

as-idea-plugin/issues/2

  1. yaml 
  2.  
  3. jad --source-only com.wangji92.arthas.plugin.demo.controller.CommonController getRandomInteger 

watch、trace

增加了默認(rèn)參數(shù)、默認(rèn)展開的層級限制次數(shù),使用者不用知道這些核心的參數(shù),簡單的使用就好了,要使用更加的高級的自己help 一下就知道了。

  1. yaml 
  2.  
  3. watch com.wangji92.arthas.plugin.demo.controller.CommonController getRandomInteger '{params,returnObj,throwExp}' -n 5 -x 3 
  4.  
  5. trace com.wangji92.arthas.plugin.demo.controller.CommonController getRandomInteger -n 5 

trace -E(層級的打印 trace)

trace -E 自己構(gòu)造起來非常的麻煩,通過界面操作簡化了一下,需要觀察多個(gè)類、多個(gè)方法的場景。選擇你需要的場景繼續(xù)添加即可。

  1. yaml 
  2.  
  3. trace -E com.wangji92.arthas.plugin.demo.controller.CommonController|com.wangji92.arthas.plugin.demo.service.ArthasTestService traceE|doTraceE -n 5 

Heap Dump

打印堆棧,有點(diǎn)類似 jmap -dump:format=b,file=/temp/dump.hprof pid 下載下來使用 MAT 分析即可。

  1. yaml 
  2.  
  3. heapdump  /tmp/dump.hprof 打印堆棧信息 

特殊用法鏈接

這個(gè)必須要說一下,這個(gè)特殊用法的鏈接在線上自己束手無措的時(shí)候可以查看一下,非常有用。

對于通過 spring context 調(diào)用方法說明

通過 spring context 調(diào)用復(fù)雜的方法其實(shí)是不支持的,由于這個(gè)操作起來不方便,還是必須手工處理一下。

比如這里的 Map names 的處理方式可以借鑒一下子。

更多可以參考 demo: https://github.com/WangJi92/arthas-plugin-demo

  1. yaml 
  2.  
  3. /** 
  4.  
  5.      * 復(fù)雜參數(shù)調(diào)用 場景 
  6.  
  7.      * static spring context 
  8.  
  9.      * ognl -x 3 '#user=new com.wangji92.arthas.plugin.demo.controller.User(),#user.setName("wangji"),#user.setAge(27L),#springContext=@com.wangji92.arthas.plugin.demo.common.ApplicationContextProvider@context,#springContext.getBean("commonController").complexParameterCall(#{"wangji":#user})' -c e374b99 
  10.  
  11.      * 
  12.  
  13.      * watch get spring context 備注 需要調(diào)用一次方法 
  14.  
  15.      * watch -x 3 -n 1  org.springframework.web.servlet.DispatcherServlet doDispatch '#user=new com.wangji92.arthas.plugin.demo.controller.User(),#user.setName("wangji"),#user.setAge(27L),@org.springframework.web.context.support.WebApplicationContextUtils@getWebApplicationContext(params[0].getServletContext()).getBean("commonController").complexParameterCall(#{"wangji":#user})' 
  16.  
  17.      * 
  18.  
  19.      * tt get spring context ,only first get time index ok 
  20.  
  21.      * tt -w '#user=new com.wangji92.arthas.plugin.demo.controller.User(),#user.setName("wangji"),#user.setAge(27L),target.getApplicationContext().getBean("commonController").complexParameterCall(#{"wangji":#user})' -x 3 -i 1000 
  22.  
  23.      * @return 
  24.  
  25.      */ 
  26.  
  27.     @RequestMapping("complexParameterCall"
  28.  
  29.     @ResponseBody 
  30.  
  31.     public String complexParameterCall(@RequestBody  Map<String, User> names) { 
  32.  
  33.         if (names == null) { 
  34.  
  35.             return "EMPTY"
  36.  
  37.         } 
  38.  
  39.         return names.toString(); 
  40.  
  41.     } 

總結(jié)

本文簡單介紹了 Arthas IDEA 插件的安裝與使用技巧,該插件解放了大家對于 Arthas 使用的一些記憶、機(jī)械性的重復(fù)工作,歡迎大家試用!

Arthas 官方舉行了征文活動(dòng),于 3 月 26 日—— 4 月 26 日舉辦,如果你有:

  • 使用 Arthas 排查過的問題
  • 對 Arthas 進(jìn)行源碼解讀
  • 對 Arthas 提出建議
  • 不限,其它與 Arthas 有關(guān)的內(nèi)容

 

責(zé)任編輯:張燕妮 來源: http://dockone.io
相關(guān)推薦

2019-11-15 14:38:04

JavaLinux阿里

2019-11-15 08:40:53

Java開發(fā)代碼

2020-03-23 10:06:05

工具代碼開發(fā)

2021-05-19 17:04:29

Python阿里自動(dòng)化工具

2018-12-10 10:30:40

阿里Linux命令

2020-12-07 11:12:16

MySOLBinlogOtter

2025-03-18 08:10:00

iodump開源I/O

2021-10-20 08:57:46

LinuxUbuntuSysmon

2019-02-15 15:33:00

Java開發(fā)代碼

2021-06-30 13:57:07

Arthas JVMTI

2009-12-15 17:37:43

Visual Sort

2017-11-03 17:05:11

開源

2021-08-26 10:29:47

工具Root框架

2016-09-22 09:37:14

GCC內(nèi)聯(lián)語法

2022-04-15 11:52:07

模型開源代碼

2016-02-23 15:18:26

開源問題追蹤工具

2017-05-16 12:42:12

服務(wù)器

2020-05-11 09:48:28

網(wǎng)絡(luò)故障路由器Linux

2021-06-25 10:24:30

Google開源漏洞數(shù)據(jù)庫

2024-03-11 00:02:00

Vite開源工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

欧洲精品在线视频| 精品国产制服丝袜高跟| 亚洲v日韩v欧美v综合| 亚洲一级av毛片| 欧美日韩国产亚洲一区| 亚洲国产三级网| 国产精品视频分类| 精品精品导航| 久久蜜臀精品av| 91久久精品国产| 在线观看亚洲天堂| 91日韩免费| 亚洲精品乱码久久久久久金桔影视| 免费男同深夜夜行网站| 色老头在线观看| 国产日韩精品一区二区三区在线| 91久色国产| 亚洲图片在线视频| 午夜性色一区二区三区免费视频| 亚洲免费视频在线观看| 下面一进一出好爽视频| 成人日韩在线| 亚洲综合丁香婷婷六月香| 四虎影院一区二区三区| 韩国av免费在线| 精品一区二区国语对白| 热久久美女精品天天吊色| 九九热国产在线| 999精品视频| 亚洲日本aⅴ片在线观看香蕉| 国产chinesehd精品露脸| 性欧美freehd18| 狠狠躁夜夜躁久久躁别揉| 国产911在线观看| 日本在线视频站| 久久久99精品久久| 精品国产综合| 好男人www在线视频| 国产一区二区伦理| 国产在线拍偷自揄拍精品| 国产性猛交╳xxx乱大交| 国产精品激情电影| 欧美成人午夜剧场免费观看| 亚洲欧美综合7777色婷婷| 色综合中文网| 亚洲免费一级电影| 国产毛片久久久久久久| 日韩av中文字幕一区| 亚洲成人av在线播放| 美女又黄又免费的视频| 91嫩草国产线观看亚洲一区二区 | 免费一级片在线观看| 日韩av二区| 亚洲性夜色噜噜噜7777| 久久精品成人av| 九九亚洲精品| 亚洲精品视频免费| 日韩在线免费观看av| 婷婷精品在线观看| 亚洲人成网站777色婷婷| 黄色正能量网站| 国产91久久精品一区二区| 日韩成人黄色av| 精品人妻一区二区三区视频| 窝窝社区一区二区| 国产亚洲xxx| 国产亚洲精品久久久久久豆腐| 久久精品国产大片免费观看| xvideos亚洲人网站| 午夜精品久久久久99蜜桃最新版| 婷婷精品进入| 欧美高清电影在线看| 久久老司机精品视频| 亚洲欧洲一级| 日本电影亚洲天堂| 中文字幕一区二区人妻| 精彩视频一区二区| 国产99在线播放| 天天操天天舔天天干| 久久嫩草精品久久久精品一| 日韩中文一区二区三区| 麻豆传媒在线完整视频| 一区二区三区日本| 99视频在线免费播放| 成人教育av| 欧美午夜电影网| 日本黄色三级大片| 黑人巨大精品欧美一区二区桃花岛| 色偷偷久久人人79超碰人人澡| 国产超碰在线播放| 国产91精品在线| 欧美一二三区在线| 亚洲精品女人久久久| 成人亚洲一区二区| 欧美福利小视频| 波多野结衣理论片| 国模大尺度一区二区三区| 国产精品日韩一区二区三区| 韩国三级av在线免费观看| 亚洲人成电影网站色mp4| 国产奶头好大揉着好爽视频| 国产h片在线观看| 在线观看日韩一区| 日本黄色大片在线观看| 欧美精品尤物在线观看| 欧美第一淫aaasss性| 午夜毛片在线观看| 国产伦精品一区二区三区视频青涩| 精品国产乱码久久久久久88av | 精品99在线视频| 精品久久在线| 亚洲精品美女在线观看| 日本精品在线免费观看| 免费看黄裸体一级大秀欧美| 成人欧美一区二区三区在线湿哒哒| 国产综合无码一区二区色蜜蜜| 国产精品女主播在线观看| 制服诱惑一区| 天天综合网站| 欧美一级免费大片| 影音先锋制服丝袜| 欧美涩涩视频| 日本免费在线视频不卡一不卡二 | 国产高清999| 色婷婷精品视频| 美女av一区二区| 波多野结衣家庭主妇| 91尤物视频在线观看| 中文字幕人成一区| 成人黄色毛片| 亚洲精品自在久久| 免费在线不卡视频| 夫妻av一区二区| 日本老太婆做爰视频| 99欧美精品| 亚洲午夜精品视频| www.伊人久久| 97se亚洲国产综合自在线 | 丝袜在线观看| 9191成人精品久久| 色婷婷粉嫩av| 免费视频最近日韩| 日韩精品极品视频在线观看免费| 欧美男人天堂| 精品久久五月天| 国产又黄又爽又无遮挡| 精品亚洲免费视频| 一区二区三区电影| 久久亚洲资源中文字| 国产一区二区成人| 中文字幕 国产| 国产精品午夜在线观看| 午夜免费福利在线| 日韩av自拍| 国产精品亚发布| 人人干在线视频| 欧美久久久久久蜜桃| 国产小视频你懂的| 国产一区二区网址| 亚洲色图都市激情| 999久久久精品一区二区| 久久久久久久一| 午夜激情在线视频| 欧美性猛交丰臀xxxxx网站| 变态另类丨国产精品| 亚洲欧美春色| 色一情一乱一伦一区二区三区丨| 国产经典一区| 久久艳片www.17c.com | 99精品视频在线播放观看| www在线观看免费| 少妇精品导航| 国产精品九九九| 欧美日韩xx| 精品欧美乱码久久久久久| av资源免费观看| 久久精品这里都是精品| www.这里只有精品| 欧美三级网页| 青青草原成人| 精品视频国内| 欧美一区二区大胆人体摄影专业网站| 激情在线视频| 在线成人小视频| 懂色av.com| 久久精品人人做人人爽97| 蜜臀av免费观看| 国产精品豆花视频| 日韩精品伦理第一区| 免费一级欧美在线大片| 啪一啪鲁一鲁2019在线视频| 日本不卡三区| 亚洲第一天堂av| 真实新婚偷拍xxxxx| 樱桃国产成人精品视频| 成人网站免费观看| 国产一区二区在线影院| 欧美视频免费播放| 亚洲一区色图| 鲁丝一区鲁丝二区鲁丝三区| 成人黄色毛片| 456亚洲影院| av片在线观看免费| 亚洲欧洲av一区二区| www.天天干.com| 日本二三区不卡| 久久精品这里有| 国产精品嫩草久久久久| 免费观看一级一片| 国产成人啪免费观看软件| 成人免费xxxxx在线视频| 国产一区视频在线观看免费| 天天综合色天天综合色hd| 国语一区二区三区| 国产日韩在线看片| 欧美日韩电影免费看| 欧美极品少妇xxxxⅹ免费视频 | 国产欧美一区在线| 国产婷婷在线观看| 国产一区二区不卡在线| 日本免费观看网站| 亚洲在线电影| 日韩人妻无码精品久久久不卡| 婷婷亚洲五月| 日韩在线导航| 国产精品视频一区二区三区四蜜臂| 99国产视频| 9999精品免费视频| 国产黑人绿帽在线第一区| 国产在线美女| 孩xxxx性bbbb欧美| 欧美女同一区| 免费97视频在线精品国自产拍| 都市激情一区| 亚洲人成电影在线观看天堂色| 日韩一卡二卡在线| 精品国产乱码久久久久久夜甘婷婷| 国产三级漂亮女教师| 欧美日韩不卡一区| 精品国产青草久久久久96| 色婷婷综合激情| 日本久久综合网| 日韩欧美在线观看| 亚洲GV成人无码久久精品| 天天综合天天综合色| 久草手机在线观看| 欧美性猛交xxxx黑人猛交| 国产精品乱子伦| 色天使色偷偷av一区二区| 日本视频免费观看| 色综合天天综合网天天看片| chinese国产精品| 在线亚洲高清视频| 国产情侣免费视频| 欧美日韩的一区二区| 一级久久久久久久| 欧美一区二区精品| 亚洲黄色一级大片| 日韩av网站在线| 九色在线免费| 爽爽爽爽爽爽爽成人免费观看| 欧美天天影院| 久久99精品国产99久久6尤物| 欧美性猛片xxxxx免费中国| 久久男人的天堂| h片在线观看| 国产www精品| 亚洲综合视频| 高清一区二区三区视频| 爽爽窝窝午夜精品一区二区| 欧美资源一区| 66视频精品| 真人抽搐一进一出视频| 久久婷婷av| www.久久av.com| 成人一区二区三区在线观看| 97人妻精品一区二区三区免| 欧美激情综合网| 欧美黄色免费在线观看| 欧美日韩国产一中文字不卡 | 天堂一区二区在线| 日韩av自拍偷拍| 成人网男人的天堂| 中文字幕免费视频| 亚洲黄色片在线观看| 成人毛片18女人毛片| 欧美日韩亚洲丝袜制服| 亚洲第一第二区| 亚洲欧洲日本专区| www在线免费观看视频| 97碰碰碰免费色视频| 国产精品99| 国产精品裸体一区二区三区| 九九热精品视频在线观看| 成人黄色片免费| 久久午夜精品| 国产乱淫av麻豆国产免费| 久久精品人人做| 精品小视频在线观看| 欧美图片一区二区三区| 亚洲国产一二三区| 日韩中文字幕视频在线观看| 爱啪啪综合导航| 91久久精品国产91性色| 亚洲桃色综合影院| 男人的天堂视频在线| 日本成人超碰在线观看| 国产成人精品无码片区在线| 亚洲欧美怡红院| 亚洲av中文无码乱人伦在线视色| 精品少妇一区二区| 在线观看免费版| 2023亚洲男人天堂| avtt综合网| 日本丰满大乳奶| 免费成人性网站| 亚洲一区二区三区蜜桃| 亚洲一区二区av电影| 国产又大又粗又硬| 亚洲人成绝费网站色www| 川上优av中文字幕一区二区| 91性高湖久久久久久久久_久久99| 狠狠综合久久av一区二区蜜桃| 国产91沈先生在线播放| 国精产品一区一区三区mba桃花 | 欧美一区二不卡视频| 久久精品成人欧美大片| 欧美日韩尤物久久| 日韩av不卡播放| 久久久久一区| 日本xxx在线播放| 精品国产成人av| 四虎永久在线观看| 久久久久国产视频| 一区二区日韩| 免费日韩在线观看| 国产乱人伦精品一区二区在线观看| 天天操夜夜操av| 欧美日韩一区二区在线观看视频 | 国产欧美日韩精品a在线观看| 天天爽夜夜爽夜夜爽精品| 亚洲精品国产精品自产a区红杏吧| 欧美人动性xxxxz0oz| 国产精品久久久久久免费观看| 欧美激情精品久久久六区热门| 日本r级电影在线观看| 亚洲免费观看视频| 99久久精品日本一区二区免费| 久久不射电影网| 欧州一区二区三区| 久久久久久久久网| 成人国产精品免费网站| 国产午夜小视频| 亚洲国产天堂久久综合网| 蜜桃视频动漫在线播放| 久久人人爽爽人人爽人人片av| 先锋a资源在线看亚洲| 蜜臀av一区二区三区有限公司| 欧美日韩国产精品一区二区三区四区| 天堂av在线7| 日韩免费在线免费观看| 欧洲杯什么时候开赛| 久久久精品高清| 亚洲午夜精品久久久久久久久| 人妻一区二区三区| 国产成人亚洲综合91精品| 成人女性视频| 青青草精品在线| 天天综合天天综合色| 成人高潮成人免费观看| 91精品中国老女人| 亚洲国产清纯| www..com.cn蕾丝视频在线观看免费版| 欧美亚日韩国产aⅴ精品中极品| 久久精品视频免费看| 国产精品久久久久久久小唯西川 | 青青草视频播放| 欧美在线不卡视频| 黄色av网站在线播放| 国产精品久久国产精品| 免播放器亚洲| 国产精品99久久久久久成人| 精品国产一区二区三区av性色| 少妇一区视频| 三级在线免费观看| 91蜜桃婷婷狠狠久久综合9色| 中文字幕制服诱惑| 欧美激情欧美激情| 精品一区二区三| 无码人妻丰满熟妇啪啪网站| 欧美视频中文在线看| 激情在线小视频| 欧美精品二区三区四区免费看视频| 麻豆精品视频在线观看免费| 四虎成人精品永久免费av| 最近中文字幕2019免费| 国产一区调教| 污污的视频免费观看| 动漫精品一区二区| www视频在线免费观看|