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

AOT漫談: 如何調試C# AOT程序

開發 前端
大家看到命中斷點了也不要高興的太早,VS只適合調試Debug模式發布出來的程序,而實際情況大家更多的是以Release模式發布的,這種模式下用 VS 就不能很好的調試了。

一、背景

1. 講故事

上個月接到了二個C# AOT程序的故障分析,發現如今的C# AOT程序也開始在各個領域開枝散葉了,這是一件非常好的事情,本著對這類程序有一個專業的維修態度,開一個系列好好聊一聊吧,當然我這里是漫談,文章沒有先后順序,先從如何調試開始吧。

二、如何調試AOT程序

1. 一個簡單的例子

現在的VS非常強大,新建模板的時候就有一個 Enable native AOT publish 選項,勾完之后就會自動的在項目的 csproj 中添加配置節 <PublishAot>true</PublishAot> ,截圖如下:

圖片圖片

勾選的好處就是可以在編碼階段就能感知到AOT不允許的東西,方便及時告警,生成完之后參考代碼如下:

static void Main(string[] args)
        {
            var i = 10;
            var j = 20;
            var sum = i + j;
            Console.WriteLine($"{i}+{j}={sum}");
            Console.ReadLine();
        }

代碼有了之后,可以借助dotnet cli的 publish 命令直接發布成nativeaot程序,這里先使用 Debug 模式,這樣就生成好了一個完整的程序,參考如下:

dotnet publish -r win-x64 -c Debug -o D:\testdump

圖片圖片

當然你也可以帶上 PublishAot=true 參數,即:

dotnet publish -r win-x64 -c Debug /p:PublishAot=true -o D:\testdump

2. 使用VS調試

用 VS調試非常簡單,直接將 ConsoleApp1.exe 拖到 VS 中即可,對,就是拖到VS中,然后在源碼的相應位置下個斷點,接下來在 ConsoleApp1.exe 上右鍵 -> Debug -> Start New Instance 即可啟動調試,截圖如下:

圖片圖片

大家看到命中斷點了也不要高興的太早,VS只適合調試Debug模式發布出來的程序,而實際情況大家更多的是以Release模式發布的,這種模式下用 VS 就不能很好的調試了。

為了驗證,我們簡單的修改一下 Debug 改成 Release 模式,參考如下:

PS D:\skyfly\18.20241010\src\Example\ConsoleApp1> dotnet publish -r win-x64 -c Release -o D:\testdump
  正在確定要還原的項目…
  所有項目均是最新的,無法還原。
  ConsoleApp1 -> D:\skyfly\18.20241010\src\Example\ConsoleApp1\bin\Release\net8.0\win-x64\ConsoleApp1.dll
  ConsoleApp1 -> D:\testdump\

有可用的工作負載更新。有關詳細信息,請運行 `dotnet workload list`。

程序運行以來之后,可以看到那些 i,j,sum 都不見了蹤影,無語了,截圖如下:

圖片圖片

3. WinDbg調試

水到絕境是風景,人到絕境是重生。當你絕望的時候一定要知道有WinDbg這種通殺一切之工具的存在,所以這次我們要祭出 WinDbg。

那用 windbg 如何調試呢?非常簡單,直接對 Main 方法下斷點即可,畢竟AOT程序在 ilc 階段就已經編譯成完整的 機器碼,參考命令如下:

bp ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main

這個命令的格式如下:

bp 模塊名!模塊名_命名空間_類名__方法名

圖片圖片

參考匯編代碼如下:

0:000> uf ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main
ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main [D:\skyfly\18.20241010\src\Example\ConsoleApp1\Program.cs @ 9]:
    9 00007ff6`e4836d20 4883ec48        sub     rsp,48h
    9 00007ff6`e4836d24 0f57e4          xorps   xmm4,xmm4
    9 00007ff6`e4836d27 0f29642420      movaps  xmmword ptr [rsp+20h],xmm4
    9 00007ff6`e4836d2c 0f29642430      movaps  xmmword ptr [rsp+30h],xmm4
    9 00007ff6`e4836d31 33c0            xor     eax,eax
    9 00007ff6`e4836d33 4889442440      mov     qword ptr [rsp+40h],rax
   10 00007ff6`e4836d38 488d4c2420      lea     rcx,[rsp+20h]
   10 00007ff6`e4836d3d ba02000000      mov     edx,2
   10 00007ff6`e4836d42 41b803000000    mov     r8d,3
   10 00007ff6`e4836d48 e823f10200      call    ConsoleApp1!S_P_CoreLib_System_Runtime_CompilerServices_DefaultInterpolatedStringHandler___ctor (00007ff6`e4865e70)
   10 00007ff6`e4836d4d 488d4c2420      lea     rcx,[rsp+20h]
   10 00007ff6`e4836d52 ba0a000000      mov     edx,0Ah
   10 00007ff6`e4836d57 e8a48e0500      call    ConsoleApp1!S_P_CoreLib_System_Runtime_CompilerServices_DefaultInterpolatedStringHandler__AppendFormatted<Int32> (00007ff6`e488fc00)
   10 00007ff6`e4836d5c 8b4c2430        mov     ecx,dword ptr [rsp+30h]
   10 00007ff6`e4836d60 8b542440        mov     edx,dword ptr [rsp+40h]
   10 00007ff6`e4836d64 3bca            cmp     ecx,edx
   10 00007ff6`e4836d66 0f87c9000000    ja      ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0x115 (00007ff6`e4836e35)  Branch

ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0x4c [D:\skyfly\18.20241010\src\Example\ConsoleApp1\Program.cs @ 10]:
   10 00007ff6`e4836d6c 488b442438      mov     rax,qword ptr [rsp+38h]
   10 00007ff6`e4836d71 448bc1          mov     r8d,ecx
   10 00007ff6`e4836d74 4a8d0440        lea     rax,[rax+r8*2]
   10 00007ff6`e4836d78 2bd1            sub     edx,ecx
   10 00007ff6`e4836d7a 83fa01          cmp     edx,1
   10 00007ff6`e4836d7d 721d            jb      ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0x7c (00007ff6`e4836d9c)  Branch

ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0x5f [D:\skyfly\18.20241010\src\Example\ConsoleApp1\Program.cs @ 10]:
   10 00007ff6`e4836d7f 488d0d4a180600  lea     rcx,[ConsoleApp1!_Str___206014A4266C2082B9433011FB2991059F972D570A8B3C976E5B2B8DFCFBFC8D (00007ff6`e48985d0)]
   10 00007ff6`e4836d86 4883c10c        add     rcx,0Ch
   10 00007ff6`e4836d8a 0fb711          movzx   edx,word ptr [rcx]
   10 00007ff6`e4836d8d 668910          mov     word ptr [rax],dx
   10 00007ff6`e4836d90 8b4c2430        mov     ecx,dword ptr [rsp+30h]
   10 00007ff6`e4836d94 ffc1            inc     ecx
   10 00007ff6`e4836d96 894c2430        mov     dword ptr [rsp+30h],ecx
   10 00007ff6`e4836d9a eb11            jmp     ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0x8d (00007ff6`e4836dad)  Branch

ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0x7c [D:\skyfly\18.20241010\src\Example\ConsoleApp1\Program.cs @ 10]:
   10 00007ff6`e4836d9c 488d4c2420      lea     rcx,[rsp+20h]
   10 00007ff6`e4836da1 488d1528180600  lea     rdx,[ConsoleApp1!_Str___206014A4266C2082B9433011FB2991059F972D570A8B3C976E5B2B8DFCFBFC8D (00007ff6`e48985d0)]
   10 00007ff6`e4836da8 e893f20200      call    ConsoleApp1!S_P_CoreLib_System_Runtime_CompilerServices_DefaultInterpolatedStringHandler__GrowThenCopyString (00007ff6`e4866040)

ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0x8d [D:\skyfly\18.20241010\src\Example\ConsoleApp1\Program.cs @ 10]:
   10 00007ff6`e4836dad 488d4c2420      lea     rcx,[rsp+20h]
   10 00007ff6`e4836db2 ba14000000      mov     edx,14h
   10 00007ff6`e4836db7 e8448e0500      call    ConsoleApp1!S_P_CoreLib_System_Runtime_CompilerServices_DefaultInterpolatedStringHandler__AppendFormatted<Int32> (00007ff6`e488fc00)
   10 00007ff6`e4836dbc 8b4c2430        mov     ecx,dword ptr [rsp+30h]
   10 00007ff6`e4836dc0 8b542440        mov     edx,dword ptr [rsp+40h]
   10 00007ff6`e4836dc4 3bca            cmp     ecx,edx
   10 00007ff6`e4836dc6 776d            ja      ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0x115 (00007ff6`e4836e35)  Branch

ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0xa8 [D:\skyfly\18.20241010\src\Example\ConsoleApp1\Program.cs @ 10]:
   10 00007ff6`e4836dc8 488b442438      mov     rax,qword ptr [rsp+38h]
   10 00007ff6`e4836dcd 448bc1          mov     r8d,ecx
   10 00007ff6`e4836dd0 4a8d0440        lea     rax,[rax+r8*2]
   10 00007ff6`e4836dd4 2bd1            sub     edx,ecx
   10 00007ff6`e4836dd6 83fa01          cmp     edx,1
   10 00007ff6`e4836dd9 721d            jb      ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0xd8 (00007ff6`e4836df8)  Branch

ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0xbb [D:\skyfly\18.20241010\src\Example\ConsoleApp1\Program.cs @ 10]:
   10 00007ff6`e4836ddb 488d0dee1f0600  lea     rcx,[ConsoleApp1!_Str___E7DAC261E841E53EB65AC8C2A0E56544DF49C46D71E8002D7764F92C66C4C868 (00007ff6`e4898dd0)]
   10 00007ff6`e4836de2 4883c10c        add     rcx,0Ch
   10 00007ff6`e4836de6 0fb711          movzx   edx,word ptr [rcx]
   10 00007ff6`e4836de9 668910          mov     word ptr [rax],dx
   10 00007ff6`e4836dec 8b4c2430        mov     ecx,dword ptr [rsp+30h]
   10 00007ff6`e4836df0 ffc1            inc     ecx
   10 00007ff6`e4836df2 894c2430        mov     dword ptr [rsp+30h],ecx
   10 00007ff6`e4836df6 eb11            jmp     ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0xe9 (00007ff6`e4836e09)  Branch

ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0xd8 [D:\skyfly\18.20241010\src\Example\ConsoleApp1\Program.cs @ 10]:
   10 00007ff6`e4836df8 488d4c2420      lea     rcx,[rsp+20h]
   10 00007ff6`e4836dfd 488d15cc1f0600  lea     rdx,[ConsoleApp1!_Str___E7DAC261E841E53EB65AC8C2A0E56544DF49C46D71E8002D7764F92C66C4C868 (00007ff6`e4898dd0)]
   10 00007ff6`e4836e04 e837f20200      call    ConsoleApp1!S_P_CoreLib_System_Runtime_CompilerServices_DefaultInterpolatedStringHandler__GrowThenCopyString (00007ff6`e4866040)

ConsoleApp1!ConsoleApp1_ConsoleApp1_Program__Main+0xe9 [D:\skyfly\18.20241010\src\Example\ConsoleApp1\Program.cs @ 10]:
   10 00007ff6`e4836e09 488d4c2420      lea     rcx,[rsp+20h]
   10 00007ff6`e4836e0e ba1e000000      mov     edx,1Eh
   10 00007ff6`e4836e13 e8e88d0500      call    ConsoleApp1!S_P_CoreLib_System_Runtime_CompilerServices_DefaultInterpolatedStringHandler__AppendFormatted<Int32> (00007ff6`e488fc00)
   10 00007ff6`e4836e18 488d4c2420      lea     rcx,[rsp+20h]
   10 00007ff6`e4836e1d e8def00200      call    ConsoleApp1!S_P_CoreLib_System_Runtime_CompilerServices_DefaultInterpolatedStringHandler__ToStringAndClear (00007ff6`e4865f00)
   10 00007ff6`e4836e22 488bc8          mov     rcx,rax
   10 00007ff6`e4836e25 e856080000      call    ConsoleApp1!System_Console_System_Console__WriteLine_12 (00007ff6`e4837680)
   13 00007ff6`e4836e2a e831080000      call    ConsoleApp1!System_Console_System_Console__ReadLine (00007ff6`e4837660)
   14 00007ff6`e4836e2f 90              nop
   14 00007ff6`e4836e30 4883c448        add     rsp,48h
   14 00007ff6`e4836e34 c3              ret

仔細觀察上面的匯編代碼,你會發現 i,j 根本就沒有作為棧變量使用,而是直接放到了寄存器中傳給了 AppendFormatted 方法。

圖片圖片

這里要提醒一點就是 DefaultInterpolatedStringHandler 是 C# 中 string 拼接的一種底層優化實現,所以最后代碼被優化成了  Console.WriteLine($"{10}+{20}={30}"); 這樣的句子,這也是 Release 的威力所在。

當然 WinDbg 的功能不限于此,后面還有更多牛叉的功能,在系列文章后面再展開吧。

三:總結

工欲善其事必先利其器,對未知知識的探索必然需要一個好的工具,希望本篇給大家帶來一些靈感吧。

責任編輯:武曉燕 來源: 一線碼農聊技術
相關推薦

2024-10-24 11:08:00

C#AOT泛型

2024-10-14 13:01:33

AOTcpu符號

2023-07-11 00:17:58

.Net8AOTC

2025-04-08 00:09:38

2023-07-14 08:29:55

AOT.Net程序

2023-07-09 23:55:16

C++RoslynILC

2018-11-06 09:31:34

物聯網分析AoT物聯網

2025-04-02 07:40:30

2024-04-16 00:24:54

AndroidApp入口點

2023-09-11 08:40:34

AOTVMP代碼

2011-06-08 10:06:32

C#

2021-11-09 06:01:35

前端JITAOT

2023-09-21 08:46:44

操作系統windows 10內存

2024-03-06 08:52:59

C#Emit代碼

2023-09-04 11:46:09

C#動態代碼

2023-09-15 06:56:01

RC.NET 6Release

2009-08-25 15:58:03

C#跟蹤和調試語句

2009-08-13 17:04:09

C#語言C#程序

2011-06-30 10:28:50

C#開發

2011-06-28 10:19:40

C#開發
點贊
收藏

51CTO技術棧公眾號

欧美二区三区在线| 国产亚洲欧美视频| 极品粉嫩国产18尤物| 特黄视频在线观看| 久热精品在线| 蜜月aⅴ免费一区二区三区| 成人在线观看一区二区| 欧美aa视频| 亚洲精品视频免费看| 久久久久久国产精品一区| 亚洲系列在线观看| 影音先锋在线一区| 中文字幕日韩欧美| 日本五十肥熟交尾| 欧美特黄色片| 欧美视频中文在线看| 国产又爽又黄ai换脸| 婷婷丁香一区二区三区| 精品一二三四在线| 97成人精品区在线播放| 夫妻性生活毛片| 精品久久ai| 欧美二区三区91| 黑人糟蹋人妻hd中文字幕| av网站在线看| 国产农村妇女毛片精品久久麻豆| 91久久伊人青青碰碰婷婷| 国产免费a视频| 91久久亚洲| 久热精品视频在线免费观看| 少妇久久久久久久久久| 都市激情亚洲| 正在播放亚洲一区| 午夜国产一区二区三区| 欧美在线极品| 亚洲成av人片在线观看无码| 日本特级黄色大片| 99青草视频在线播放视| 久久免费午夜影院| 91超碰在线免费观看| 一卡二卡在线视频| 日韩电影在线一区| 日本精品久久久久影院| 精品在线播放视频| 亚洲欧洲日本一区二区三区| 欧美日本精品在线| 在线看的片片片免费| 色综合咪咪久久网| 正在播放欧美一区| 成人小视频免费看| 日韩一区亚洲二区| 中文字幕在线看视频国产欧美在线看完整| 亚洲最大成人网站| 九九久久成人| 国产亚洲欧美aaaa| 国产一区二区三区四区在线| 日韩av在线中文字幕| 在线观看亚洲区| 亚洲精品天堂网| 久久免费大视频| 日韩中文在线视频| 中日韩一级黄色片| 综合一区在线| 欧美国产第二页| 免费在线观看av网址| 国产在线欧美| 91精品国产精品| 亚洲欧美自拍视频| 日韩成人免费电影| 国产日韩欧美日韩大片| 国产精品欧美久久久久天天影视| 精品亚洲国产成人av制服丝袜| 成人免费网站在线| 亚洲AV无码一区二区三区性| 国产91在线|亚洲| 国产在线一区二| 日本人妖在线| 国产精品视频免费看| 亚洲三区在线观看| av理论在线观看| 天天色天天操综合| 五月天婷婷激情视频| 欧美激情福利| 欧美大片免费久久精品三p| 亚洲激情 欧美| 精品国产一区一区二区三亚瑟| 中文字幕精品久久| 婷婷色中文字幕| 宅男噜噜噜66国产日韩在线观看| 日本成熟性欧美| 国产精品视频一二区| 成人毛片在线观看| 日韩欧美视频一区二区| av在线影院| 欧美性猛交xxxx免费看漫画| 亚洲精品www.| 久久97精品| 最近2019中文字幕mv免费看| 91嫩草丨国产丨精品| 男人的天堂亚洲| 亚洲iv一区二区三区| 色婷婷av一区二区三| 中文在线资源观看网站视频免费不卡| 欧美美女黄色网| 高清av不卡| 日韩精品一区二区三区视频在线观看| 玖玖爱在线观看| 欧美88av| 国产精品一久久香蕉国产线看观看| 99热这里精品| 国产精品人妖ts系列视频| 日日摸日日碰夜夜爽无码| 福利一区二区免费视频| 亚洲黄在线观看| 91精品一区二区三区蜜桃| 麻豆精品网站| 国产午夜精品在线| av大全在线| 欧美午夜寂寞影院| 久久丫精品国产亚洲av不卡| 欧美特黄一区| 91青草视频久久| 福利成人在线观看| 懂色av影视一区二区三区| 亚洲欧美日韩中文字幕在线观看| 精品99在线| 欧美一级大片视频| 蜜桃91麻豆精品一二三区| 中文字幕在线不卡| 无限资源日本好片| 久久99国产成人小视频| 性欧美xxxx| 国产一区二区三区在线免费观看| 久久久www免费人成精品| 蜜臀精品一区二区三区在线观看| 亚洲国产老妈| 日韩啪啪网站| 国产一区二区| 黄色精品视频| 色视频在线观看| 国产精品66| 精品日韩99亚洲| 在线观看美女av| 日日骚欧美日韩| 鲁鲁狠狠狠7777一区二区| av丝袜在线| 亚洲高清一二三区| 日本少妇激情舌吻| av在线综合网| 成人免费播放器| 国产精品调教视频| 久久久女女女女999久久| 亚洲精品一区二区三区新线路| 亚洲欧美aⅴ...| 日本一本在线视频| 亚洲视频一二| 国产精品一级久久久| 麻豆福利在线观看| 亚洲电影第1页| 香蕉影院在线观看| 国产欧美一区二区三区鸳鸯浴 | 色哟哟在线观看| 天天影视涩香欲综合网| 国产精品jizz| 秋霞电影网一区二区| 亚洲精品永久www嫩草| 欧美天堂在线| 美女国内精品自产拍在线播放| 国产日韩一级片| 亚洲电影一级黄| 免费成人蒂法网站| 日本不卡的三区四区五区| 亚洲午夜精品福利| 久久9999免费视频| 国内揄拍国内精品| 黄色国产在线| 91精品国产综合久久久久久| 国产一级一片免费播放| 久久亚洲免费视频| 8x8x成人免费视频| av成人毛片| 亚洲午夜精品久久久久久浪潮| 成人久久精品| 欧美在线www| 日韩在线资源| 亚洲成色www8888| 亚洲精品无码久久久久| 亚洲精品国产高清久久伦理二区| 黄色在线免费播放| 免费成人美女在线观看| 无码熟妇人妻av在线电影| 中文字幕av一区二区三区人| 成人网欧美在线视频| 麻豆免费在线| 精品国产一区久久久| 天堂网av在线播放| 欧美日韩你懂的| 久久国产精品系列| 亚洲欧美日韩久久| 偷拍夫妻性生活| 成人性视频免费网站| 手机在线成人免费视频| 一区二区亚洲| 伊人久久大香线蕉av一区| 精品国产午夜肉伦伦影院| 成人黄色在线播放| 日韩av中字| 欧美黑人一区二区三区| 在线观看a视频| 国产视频丨精品|在线观看| 一级特黄aa大片| 在线视频综合导航| 日本午夜精品理论片a级app发布| 亚洲欧美综合网| 少妇无套高潮一二三区| heyzo一本久久综合| 五月天婷婷在线观看视频| 老司机久久99久久精品播放免费| 国产一级大片免费看| 北条麻妃国产九九九精品小说| 大波视频国产精品久久| 四虎视频在线精品免费网址| 日韩av电影中文字幕| 牛牛电影国产一区二区| 久久精品视频导航| 国产福利免费在线观看| 亚洲国产成人在线播放| 国产乱淫片视频| 欧洲一区在线观看| 国语对白永久免费| 亚洲h在线观看| 国产精品变态另类虐交| 一区二区三区中文字幕电影| 精品一区二区三区蜜桃在线| 91视频国产观看| 800av在线播放| jlzzjlzz亚洲日本少妇| 影音先锋资源av| 丁香天五香天堂综合| 又黄又爽又色的视频| 狠狠色丁香婷婷综合| 亚洲欧美日韩综合网| 免费在线成人网| 小泽玛利亚视频在线观看| 日韩成人午夜精品| 亚洲欧美在线精品| 麻豆国产精品官网| 四季av一区二区三区| 奇米影视一区二区三区| 日日碰狠狠躁久久躁婷婷| 美女黄色成人网| 午夜激情福利在线| 日本中文字幕不卡| 黄色片视频在线| 精品亚洲免费视频| 国产黄色一区二区三区| 成人午夜视频在线| 国产精品入口麻豆| 久久久久久**毛片大全| 久久久久久久毛片| 中日韩免费视频中文字幕| 午夜激情福利电影| 一区二区在线观看免费| 国产成人无码精品亚洲| 欧美性猛交xxxxx免费看| 波多野结衣绝顶大高潮| 欧美日韩在线电影| 99riav国产| 亚洲第一网站免费视频| 免费在线高清av| 一区二区欧美日韩视频| 好吊日视频在线观看| 欧美成在线视频| www.51av欧美视频| 国产suv精品一区二区三区88区| 色成人免费网站| 91久久精品国产| 99re热精品视频| 欧美人与物videos另类| 日韩电影二区| 大陆极品少妇内射aaaaaa| 日韩亚洲国产欧美| 亚洲国产精品三区| 成人午夜激情在线| 国产18无套直看片| 亚洲综合在线观看视频| 精品免费囯产一区二区三区 | 亚洲乱码国产乱码精品精软件| 亚洲精品久久久久中文字幕二区 | www五月婷婷| 亚洲精品中文字幕有码专区| 欧美激情午夜| 51久久精品夜色国产麻豆| 色综合久久久| 欧美不卡1区2区3区| 中文字幕日韩一区二区不卡| 欧美二区在线视频| 精品综合久久久久久8888| 亚洲色图14p| 亚洲欧美日韩系列| 超碰在线观看91| 精品成a人在线观看| 1769视频在线播放免费观看| 91精品成人久久| 五月激情四射婷婷| 国产精品va在线观看视色| 久久一二三四| 亚洲欧洲xxxx| 一道本在线免费视频| 久久精品一区二区国产| 在线观看一区二区三区视频| 国产女主播视频一区二区| 久热精品在线观看| 欧美日韩一区二区三区视频| 西西人体44www大胆无码| 美女福利视频一区| 国产极品久久久久久久久波多结野| 国产精品久久波多野结衣| 日韩午夜电影网| 成年人黄色片视频| 成人国产精品免费网站| 99热这里只有精品4| 日韩欧美a级成人黄色| 亚洲奶汁xxxx哺乳期| 日韩在线观看免费全| 日韩一级二级| 欧美日韩免费精品| 亚洲高清成人| 波多野结衣三级视频| 亚洲人成亚洲人成在线观看图片| 成年人晚上看的视频| 妞干网免费在线视频| 国产精品成人播放| 少妇精品久久久一区二区三区| 蜜臀av无码一区二区三区| 国产成人免费在线观看不卡| 午夜精品福利在线视频| 欧美丰满一区二区免费视频| 在线a免费看| 国产精品欧美日韩一区二区| 精品九九在线| 亚洲天堂av线| 欧美激情一二三区| 中国一级片黄色一级片黄| 亚洲无av在线中文字幕| 亚洲综合在线电影| 丝袜足脚交91精品| 免费一级片91| 福利视频第一页| 欧美日本国产视频| 老司机免费在线视频| 国产在线视频91| 91精品电影| 波多野结衣中文字幕在线播放| 亚洲精品大片www| 亚洲国产www| 午夜精品免费视频| 国产精品美女在线观看直播| 精品视频免费在线播放| 91麻豆国产精品久久| 中文字幕在线播| 正在播放欧美视频| 久久精品九色| 国产精品三级一区二区| 99精品久久只有精品| 成人a v视频| 日韩视频免费中文字幕| 亚洲电影一区| 一本大道熟女人妻中文字幕在线 | 好吊日免费视频| 在线观看国产一区二区| 美女国产在线| 国产91视觉| 国产精品综合| 国产精品免费在线视频| 日韩久久免费av| 成人性生活视频| 中文字幕超清在线免费观看| 成人av网站大全| 亚洲天堂网视频| 国产+人+亚洲| 日韩精品四区| 又黄又爽的网站| 欧美日韩一区在线观看| 七七成人影院| 视频在线精品一区| 成人一区二区视频| 自拍偷拍精品视频| 久久久久久免费精品| 欧美亚洲国产激情| 911亚洲精选| 欧美日韩亚洲另类| 特黄毛片在线观看| 99re99热| 国产亚洲欧美日韩日本| 亚洲成熟女性毛茸茸| 国产精品美女午夜av| 在线日韩视频| 亚洲最大的黄色网址| 亚洲欧美在线磁力|