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

無(wú)需修改代碼!LD_PRELOAD 讓內(nèi)存泄漏檢測(cè)變得超簡(jiǎn)單

開(kāi)發(fā)
今天我們來(lái)聊聊 Linux下的一個(gè)"黑科技"——LD_PRELOAD,以及它是如何優(yōu)雅地幫我們揪出內(nèi)存泄漏的!

大家好,我是小康 。

你是否遇到過(guò)這樣的場(chǎng)景:線上服務(wù)跑著跑著就OOM了,用Valgrind檢測(cè)太慢,改代碼加宏定義又太麻煩?別急,今天我們來(lái)聊聊Linux下的一個(gè)"黑科技"——LD_PRELOAD,以及它是如何優(yōu)雅地幫我們揪出內(nèi)存泄漏的!

一、LD_PRELOAD 是什么?先來(lái)個(gè)"通俗版"解釋

簡(jiǎn)單說(shuō),LD_PRELOAD 是Linux動(dòng)態(tài)鏈接器使用的一個(gè)環(huán)境變量,它可以讓你在程序運(yùn)行時(shí)"搶先"加載指定的共享庫(kù),從而覆蓋掉程序原本要調(diào)用的庫(kù)函數(shù)。

打個(gè)比方:你的程序本來(lái)要去"標(biāo)準(zhǔn)食堂"(系統(tǒng)C庫(kù))吃飯,但你通過(guò) LD_PRELOAD 告訴它:"等等,先去我指定的這家'特色餐廳'(你的自定義庫(kù))看看!"

你的程序調(diào)用 malloc()
    ↓
LD_PRELOAD 攔截!
    ↓
先調(diào)用你自定義的 my_malloc()
    ↓
再調(diào)用真正的 malloc()(如果需要的話)

這個(gè)機(jī)制簡(jiǎn)直就是"鉤子編程"的典范,讓你能在不修改程序源碼、不重新編譯的情況下,動(dòng)態(tài)地改變程序的行為!

二、LD_PRELOAD 的工作原理:深入"內(nèi)核"

1. 動(dòng)態(tài)鏈接的秘密

當(dāng)你運(yùn)行一個(gè)動(dòng)態(tài)鏈接的程序時(shí),操作系統(tǒng)的動(dòng)態(tài)加載器(ld.so 或 ld-linux.so)會(huì)先加載程序依賴的動(dòng)態(tài)庫(kù)到進(jìn)程的地址空間中,然后動(dòng)態(tài)鏈接器會(huì)在加載時(shí)或運(yùn)行時(shí)解析符號(hào)(函數(shù)、變量等)并將它們綁定到實(shí)際的定義上。

2. 符號(hào)解析順序

這是關(guān)鍵!動(dòng)態(tài)鏈接器會(huì)按照一定的順序搜索符號(hào),而 LD_PRELOAD 中指定的庫(kù)會(huì)被最先加載。

符號(hào)解析順序:
1. LD_PRELOAD 指定的庫(kù)    ← 最高優(yōu)先級(jí)!
2. 程序依賴的其他庫(kù)
3. 系統(tǒng)標(biāo)準(zhǔn)庫(kù)(如 libc.so)

用 ASCII 圖來(lái)表示:

┌─────────────────────────────────┐
│   你的程序調(diào)用 malloc()          │
└──────────────┬──────────────────┘
               │
               ▼
┌─────────────────────────────────┐
│  LD_PRELOAD 庫(kù)優(yōu)先查找           │
│  找到了?→ 調(diào)用自定義 malloc     │
│  沒(méi)找到?→ 繼續(xù)往下查找          │
└──────────────┬──────────────────┘
               │
               ▼
┌─────────────────────────────────┐
│  標(biāo)準(zhǔn) C 庫(kù)(libc.so)            │
│  調(diào)用系統(tǒng)默認(rèn)的 malloc           │
└─────────────────────────────────┘

3. 一個(gè)簡(jiǎn)單的例子

讓我們用一個(gè)真實(shí)的例子來(lái)感受一下:

test.c (原始程序)

#include <stdio.h>
#include <stdlib.h>

int main() {
    printf("開(kāi)始分配內(nèi)存...\n");
    void *p = malloc(1024);
    printf("分配成功:%p\n", p);
    free(p);
    return 0;
}

my_malloc.c (我們的攔截庫(kù))

#define _GNU_SOURCE
#include <stdio.h>
#include <dlfcn.h>
#include <stdbool.h>

staticvoid* (*real_malloc)(size_t) = NULL;
static __thread bool inside_malloc = false; // 線程局部變量,防止遞歸

void* malloc(size_t size) {
    if (!real_malloc) {
        real_malloc = dlsym(RTLD_NEXT, "malloc");
    }

    // 避免遞歸
    if (inside_malloc)
        return real_malloc(size);

    inside_malloc = true;

    void *ptr = real_malloc(size);
    printf(" 攔截到 malloc 調(diào)用!請(qǐng)求大小:%zu 字節(jié) -> 地址:%p\n", size, ptr);

    inside_malloc = false;
    return ptr;
}

編譯并測(cè)試:

# 編譯原程序
gcc test.c -o test

# 編譯攔截庫(kù)
gcc -shared -fPIC my_malloc.c -o libmymalloc.so -ldl

# 正常運(yùn)行
./test
# 輸出:
# 開(kāi)始分配內(nèi)存...
# 分配成功:0x55f5e2e9a2a0

# 使用 LD_PRELOAD 運(yùn)行
LD_PRELOAD=./libmymalloc.so ./test
# 輸出:
xiaokang@ubuntu:~$ LD_PRELOAD=./libmymalloc.so ./test
 攔截到 malloc 調(diào)用!請(qǐng)求大小:1024 字節(jié) -> 地址:0x560d7d58f2a0
開(kāi)始分配內(nèi)存...
 攔截到 malloc 調(diào)用!請(qǐng)求大小:1024 字節(jié) -> 地址:0x560d7d58f6b0
分配成功:0x560d7d58f6b0

看到了嗎?我們成功攔截了 malloc 調(diào)用,而且完全不需要修改原程序!

三、用 LD_PRELOAD 檢測(cè)內(nèi)存泄漏:實(shí)戰(zhàn)來(lái)了!

1. 檢測(cè)策略:定時(shí)檢測(cè) vs 退出檢測(cè)?

根據(jù)開(kāi)源項(xiàng)目(如 libleak),主流的內(nèi)存泄漏檢測(cè)庫(kù)采用的是基于時(shí)間閾值的定時(shí)檢測(cè)策略:

libleak 不能真正"識(shí)別"內(nèi)存泄漏,而是將存活時(shí)間超過(guò)閾值的內(nèi)存塊視為疑似泄漏。默認(rèn)閾值是60秒,但你應(yīng)該根據(jù)實(shí)際場(chǎng)景調(diào)整這個(gè)值。

檢測(cè)時(shí)機(jī)選擇:

1.  程序退出時(shí)檢測(cè)
   - 問(wèn)題:如果程序因?yàn)镺OM崩潰,根本來(lái)不及檢測(cè)
   - 適用:只適合短生命周期、能正常退出的程序

2.  定時(shí)檢測(cè)(推薦)
   - libleak:內(nèi)存存活超過(guò)閾值就報(bào)告
   - libmemleak:按時(shí)間間隔統(tǒng)計(jì)內(nèi)存增量
   - 優(yōu)勢(shì):能實(shí)時(shí)發(fā)現(xiàn)問(wèn)題,適合長(zhǎng)期運(yùn)行的服務(wù)

3.  按需觸發(fā)檢測(cè)
   - libleak:可以通過(guò)文件動(dòng)態(tài)開(kāi)啟/關(guān)閉檢測(cè)
   - libmemleak:通過(guò)socket控制檢測(cè)行為

2. 核心思路

libleak 通過(guò) LD_PRELOAD 鉤取內(nèi)存函數(shù)(如 malloc),無(wú)需修改或重新編譯目標(biāo)程序,還可以在程序運(yùn)行期間啟用/禁用檢測(cè)。

基本邏輯:

┌─────────────────────────────────────────┐
│  1. Hook malloc/calloc/realloc/free     │
└──────────────┬──────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────┐
│  2. 記錄每次分配的:                     │
│     - 內(nèi)存地址                           │
│     - 分配大小                           │
│     - 分配時(shí)間戳                         │
│     - 調(diào)用棧(backtrace)                │
└──────────────┬──────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────┐
│  3. 定時(shí)檢查:                           │
│     當(dāng)前時(shí)間 - 分配時(shí)間 > 閾值?         │
│     是 → 疑似泄漏!輸出調(diào)用棧            │
│     否 → 繼續(xù)觀察                        │
└──────────────┬──────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────┐
│  4. 收到 free 調(diào)用時(shí):                   │
│     從記錄中刪除該地址                   │
└─────────────────────────────────────────┘

四、宏定義方式 vs LD_PRELOAD:誰(shuí)更香?

很多人可能知道用宏定義的方式來(lái)追蹤內(nèi)存:

#define malloc(size) my_malloc(size, __FILE__, __LINE__)

那它和 LD_PRELOAD 有什么區(qū)別呢?

1. 對(duì)比表格

特性

宏定義方式

LD_PRELOAD 方式

需要改代碼

 需要,每個(gè)源文件都要包含宏

 不需要,二進(jìn)制直接用

需要重新編譯

 必須重新編譯

 不需要重新編譯

對(duì)第三方庫(kù)有效

 無(wú)效(沒(méi)有源碼無(wú)法加宏)

 有效(攔截所有malloc調(diào)用)

性能開(kāi)銷

較小

稍大(多一層函數(shù)調(diào)用)

靈活性

低(需要編譯期決定)

高(運(yùn)行期動(dòng)態(tài)加載)

調(diào)試生產(chǎn)環(huán)境

困難(需要重新編譯部署)

方便(直接加環(huán)境變量)

獲取調(diào)用棧

困難(需要額外的棧回溯邏輯)

容易(用 backtrace)

2. 使用建議

(1) 開(kāi)發(fā)階段:宏定義方式更簡(jiǎn)單直接,適合小項(xiàng)目

(2) 測(cè)試/生產(chǎn)環(huán)境:LD_PRELOAD 更靈活強(qiáng)大,尤其適合:

  •  無(wú)法重新編譯的場(chǎng)景
  •  需要調(diào)試第三方庫(kù)的場(chǎng)景
  •  生產(chǎn)環(huán)境臨時(shí)排查問(wèn)題

libleak 的優(yōu)勢(shì)就是無(wú)需修改或重新編譯目標(biāo)程序,而且性能影響較小,相比 Valgrind 和 memleax 更加輕量。

五、成熟工具推薦

生產(chǎn)環(huán)境還是推薦用成熟的工具:

1. libleak 

libleak 基于 LD_PRELOAD 檢測(cè)內(nèi)存泄漏,無(wú)需修改或重新編譯目標(biāo)程序,性能影響很小,打印完整調(diào)用棧,比 mtrace 等工具更易用。

git clone --recursive https://github.com/WuBingzheng/libleak.git
cd libleak && make
LD_PRELOAD=./libleak.so ./your_app
tail -f /tmp/libleak.$pid

2. memtrail 

memtrail 是一個(gè)基于 LD_PRELOAD 的內(nèi)存profiler和泄漏檢測(cè)器,支持生成可視化的內(nèi)存消耗圖。

3. gperftools (tcmalloc) 

Google 的性能工具套件,tcmalloc 不僅是更快的 malloc 實(shí)現(xiàn),還能分析內(nèi)存消耗和檢測(cè)內(nèi)存泄漏:

LD_PRELOAD=/usr/lib/libtcmalloc.so HEAPCHECK=normal ./your_app

4. Valgrind (傳統(tǒng)方案)

雖然慢,但功能強(qiáng)大:

valgrind --leak-check=full ./your_app

七、總結(jié)

LD_PRELOAD 是Linux下的一個(gè)強(qiáng)大機(jī)制,它讓我們能夠:

  • 在不修改代碼的情況下"劫持"函數(shù)調(diào)用
  • 動(dòng)態(tài)插入調(diào)試/監(jiān)控邏輯
  • 無(wú)需重新編譯就能檢測(cè)內(nèi)存泄漏
  • 適用于生產(chǎn)環(huán)境的問(wèn)題排查

相比宏定義方式:

  • 更靈活(運(yùn)行時(shí)加載)
  • 更通用(適用于任何二進(jìn)制)
  • 更強(qiáng)大(可以攔截第三方庫(kù))

內(nèi)存泄漏檢測(cè)的最佳實(shí)踐:

  • 開(kāi)發(fā)階段:用 AddressSanitizer 或簡(jiǎn)單的宏定義
  • 測(cè)試階段:用 Valgrind 做全面檢查
  • 生產(chǎn)環(huán)境:用 LD_PRELOAD + libleak 做輕量監(jiān)控
責(zé)任編輯:趙寧寧 來(lái)源: 跟著小康學(xué)編程
相關(guān)推薦

2010-04-20 16:58:30

Unix操作系統(tǒng)

2024-07-03 11:28:15

2015-04-17 10:35:51

c++c++程序內(nèi)存泄漏檢測(cè)代碼

2010-04-20 16:09:18

Unix操作系統(tǒng)

2012-07-24 23:02:40

2012-06-21 10:26:54

2011-08-15 10:16:55

內(nèi)存泄露

2013-08-02 09:52:14

AndroidApp內(nèi)存泄漏

2024-04-19 08:00:00

2017-09-07 16:52:23

2021-03-26 05:59:10

內(nèi)存檢測(cè)工具

2024-11-18 08:33:56

2016-09-08 23:58:42

云運(yùn)維 云數(shù)據(jù)中心

2023-10-31 16:40:38

LeakCanary內(nèi)存泄漏

2018-12-07 10:52:08

內(nèi)存泄漏方法

2015-07-10 09:15:47

LeakCanary內(nèi)存泄漏

2010-09-25 11:07:45

Java內(nèi)存泄漏

2024-12-05 08:58:47

2025-10-31 07:32:00

內(nèi)存泄漏C++編程

2019-07-10 10:20:36

前端用戶體驗(yàn)javascript
點(diǎn)贊
收藏

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

日韩一本精品| 色在人av网站天堂精品| 十八禁视频网站在线观看| 人妻视频一区二区三区| 久久中文在线| 伦理中文字幕亚洲| 香蕉网在线播放| 日韩大陆av| 欧美日韩免费网站| 成年人免费观看的视频| 特黄aaaaaaaaa真人毛片| 日本不卡在线视频| 午夜精品免费视频| 黄色录像二级片| 天堂网av成人| 日韩午夜av电影| 五月婷婷狠狠操| xxxx另类黑人| 中文字幕在线不卡一区二区三区| 精品中文字幕人| 99热这里只有精品99| 免费亚洲网站| 欧美精品激情视频| 亚洲人做受高潮| 国产欧美久久一区二区三区| 日韩精品一区二区三区视频| 2025韩国理伦片在线观看| 国产一二三在线| 一区二区三区免费网站| 色一情一乱一伦一区二区三区| 欧美少妇bbw| 国内精品视频666| 国产精品久久久久久亚洲调教| 国产无遮挡裸体免费视频| 91日韩免费| 伊人久久五月天| 中文字幕丰满乱子伦无码专区| 久久国产精品美女| 欧美女孩性生活视频| 亚洲中文字幕久久精品无码喷水| av中文资源在线资源免费观看| 成人欧美一区二区三区黑人麻豆| 日韩免费av电影| 欧美孕妇性xxxⅹ精品hd| 国产69精品久久99不卡| 亚洲aⅴ男人的天堂在线观看| 依依成人在线视频| 日韩电影在线免费看| 欧美一级成年大片在线观看| 国产无遮挡又黄又爽在线观看| 欧美一区亚洲| 久久av在线播放| 黄色片在线观看网站| 91麻豆精品国产91久久久平台| 在线精品视频视频中文字幕| 夫妇露脸对白88av| 日韩av专区| 亚洲视频一区二区| 欧美做受高潮6| 国产欧美日韩影院| 亚洲欧美日韩爽爽影院| 国产手机在线观看| jiujiure精品视频播放| 中文字幕在线亚洲| 破处女黄色一级片| 亚洲先锋成人| 91精品国产高清久久久久久91| 欧美一区二区三区四| 乱人伦精品视频在线观看| 国产98色在线| 一级欧美一级日韩| 国产伦理精品不卡| 国产亚洲自拍偷拍| 你懂得网站在线| 国产精品女同一区二区三区| 青少年xxxxx性开放hg| 性欧美video高清bbw| 激情av一区二区| 日本黄网站免费| 国产一区二区色噜噜| 日韩一区二区视频| 精品人妻伦一二三区久| 国内黄色精品| 久久激情五月丁香伊人| 国产性生活网站| 久久亚洲影院| 91免费精品视频| 五月婷婷丁香六月| 欧美高清在线一区二区| 国产精品啪啪啪视频| 美女的胸无遮挡在线观看| 在线国产亚洲欧美| 18深夜在线观看免费视频| 欧美国产极品| xvideos亚洲人网站| 精品在线免费观看视频| 日韩电影在线免费观看| 国产精品一区二区三区在线观| 色欲av伊人久久大香线蕉影院| 中文字幕精品综合| 国产免费一区二区视频| 草莓视频成人appios| 日韩欧美一区二区免费| 日本二区在线观看| 影院欧美亚洲| 国产视频福利一区| 青青草超碰在线| 一区二区三区中文字幕精品精品 | 欧美日韩网址| 国产精品va在线播放我和闺蜜| 99久久99久久久精品棕色圆| 久久久综合九色合综国产精品| 日本老太婆做爰视频| 日韩电影网站| 亚洲国产欧美在线成人app| 懂色av粉嫩av浪潮av| 国产精品毛片一区二区三区| 99re在线国产| 大片免费在线观看| 91福利视频在线| 久久精品综合视频| 欧美三级不卡| 91最新在线免费观看| h视频在线免费| 欧美性xxxxx| 永久免费黄色片| 欧美电影《睫毛膏》| 国产成人精品久久| 天天操天天干天天| 亚洲综合偷拍欧美一区色| 亚洲va在线va天堂va偷拍| 国产成人影院| 日本午夜在线亚洲.国产| 天堂av一区二区三区| 亚洲一二三区不卡| 自拍一级黄色片| 亚洲精品国产成人影院| 国产日韩欧美影视| 欧洲不卡av| 欧美亚洲综合在线| 日本成人午夜影院| 日日夜夜精品视频天天综合网| 久久久久久久久久久久久久久久av| 蜜臀av在线播放| 91精品国产综合久久小美女| 亚洲综合久久av一区二区三区| 日韩电影免费在线| 日韩欧美国产二区| 欧美极品免费| 在线观看久久久久久| 99re热视频| 中文字幕第一区| 欧美伦理片在线观看| 97视频精品| 91沈先生在线观看| 怡红院av在线| 亚洲国产免费av| 成年人免费高清视频| 久久综合久久综合亚洲| 热久久精品国产| 日韩在线观看| 91精品国产综合久久香蕉| 国产午夜精品久久久久免费视| 欧美一区二区三区婷婷月色| 免费看一级大片| 丁香婷婷综合激情五月色| 久操网在线观看| 夜夜春成人影院| 国产精品久久久久久久久久免费| 97在线观看免费观看高清| 在线不卡一区二区| 欧美激情精品久久| 91视视频在线观看入口直接观看www | 日韩特黄一级片| 久久无码av三级| 亚洲国产精品三区| 欧美淫片网站| 久久偷看各类wc女厕嘘嘘偷窃| 欧美日韩成人影院| 不卡av日日日| 欧美香蕉爽爽人人爽| 欧美日韩国产小视频| 久久久久久国产精品视频| 91色porny在线视频| 中日韩av在线播放| 亚洲精品色图| 亚洲国内在线| 狼人精品一区二区三区在线| 国产精品网红直播| 国产精品一区hongkong| 国产亚洲美女久久| 亚洲av无码乱码国产精品| 色综合中文字幕国产| 成人免费视频网站入口::| 91色porny在线视频| 日韩 国产 一区| 午夜亚洲激情| 男人天堂新网址| jizzjizz欧美69巨大| 国产精品日韩一区二区免费视频| 亚洲精品粉嫩美女一区| 久久久中文字幕| 秋霞午夜在线观看| 国产乱码精品一区二区三区亚洲人| а 天堂 在线| 午夜av成人| 欧美乱妇高清无乱码| 免费在线一级视频| 日韩欧美高清在线| 中文字幕在线观看1| 亚洲第一av色| 中文字幕另类日韩欧美亚洲嫩草| 久久久久久久久久久电影| 国产91在线免费观看| 视频一区二区国产| 欧美 日本 亚洲| 欧美1区2区视频| 亚洲成人自拍视频| 欧美美女啪啪| av成人在线电影| 亚洲网站免费| 国产精品欧美风情| 最近在线中文字幕| 高清亚洲成在人网站天堂| 大片免费在线观看| www.久久色.com| 91精品国产91久久久久游泳池 | 婷婷久久综合九色综合伊人色| 亚洲女人久久久| 亚洲国产精品激情在线观看| 国产黑丝一区二区| 成人污污视频在线观看| 久久久久中文字幕亚洲精品| 韩国v欧美v亚洲v日本v| 激情五月俺来也| 蜜桃一区二区三区在线| 国产精品天天av精麻传媒| 香蕉久久久久久久av网站| aa在线观看视频| 亚洲日产国产精品| 欧美视频在线观看视频| 亚洲视频碰碰| 男女猛烈激情xx00免费视频| 亚洲国产mv| 日韩黄色片在线| 一区二区亚洲| 日韩在线一级片| 久久免费黄色| 天堂在线资源视频| 蜜臀av国产精品久久久久| av网站在线不卡| 捆绑调教一区二区三区| 一区二区免费av| 国产在线不卡一区| aaaaaaaa毛片| 成人免费精品视频| 欧美在线一级片| 国产色一区二区| 少妇愉情理伦三级| 亚洲日本成人在线观看| 真实国产乱子伦对白在线| 一区二区三区鲁丝不卡| 日产精品久久久久| 日韩欧美中文在线| 中文字字幕在线中文乱码| 欧美日韩卡一卡二| av中文字幕免费| 亚洲国产精品久久久久| 理论视频在线| 久久亚洲成人精品| 波多野结衣精品| 日本中文字幕不卡免费| 久久天天久久| 国产精品区一区二区三在线播放| 网友自拍一区| 亚洲精品中文字幕乱码三区不卡| 欧美在线黄色| 国模吧无码一区二区三区| 免费看日韩精品| 亚洲熟妇一区二区| 久久久久久免费网| www.5588.com毛片| 舔着乳尖日韩一区| 亚洲天堂手机在线| 欧美成人a∨高清免费观看| 日韩av高清在线| 久久好看免费视频| 在线看的毛片| 亚洲精品欧美极品| 九九热精品视频在线观看| 大地资源第二页在线观看高清版| 精品动漫3d一区二区三区免费版| 国产视频一区二区视频| 成人综合婷婷国产精品久久免费| 成人免费毛片糖心| 亚洲免费av高清| 日日夜夜狠狠操| 欧美成人高清电影在线| 成人精品福利| 97在线观看免费高清| 96sao精品免费视频观看| 美媛馆国产精品一区二区| 91成人网在线观看| 男女av免费观看| 高清在线不卡av| 久久久99999| 91成人国产精品| 日韩一卡二卡在线| 久久手机免费视频| 国产另类xxxxhd高清| 国产精品久久久久久久天堂第1集 国产精品久久久久久久免费大片 国产精品久久久久久久久婷婷 | 三级一区二区三区| 久久久影院官网| 国产成人啪精品午夜在线观看| 欧美日韩国产乱码电影| 国产一二三区在线视频| 91极品女神在线| 91蜜桃臀久久一区二区| 中国人体摄影一区二区三区| 日韩精品一二三| 我和岳m愉情xxxⅹ视频| 午夜欧美在线一二页| 成人av免费播放| 美乳少妇欧美精品| 成人国产激情在线| 欧美一区二区三区四区五区六区| 亚洲精品1234| 乱码一区二区三区| 依依成人综合视频| 久久国产精品久久精品国产| 亚洲涩涩av| 欧美日本视频在线观看| 成人激情小说乱人伦| 国产免费无码一区二区视频| 欧美日韩一区二区三区视频| 国产三级在线免费| 日韩美女在线观看| 色综合综合网| 毛葺葺老太做受视频| 久久色.com| 无码人妻精品一区二区三区不卡 | 欧美日韩大陆一区二区| 韩国免费在线视频| 日本韩国在线不卡| 亚洲制服欧美另类| 日韩毛片在线免费看| 久久亚洲一级片| 秋霞av一区二区三区| 亚洲三级黄色在线观看| 激情亚洲影院在线观看| 亚洲成人a**址| 久久99久久久久久久久久久| 日韩成人短视频| 日韩欧美精品三级| 久草在线视频网站| 精品一区二区三区国产| 国产精品婷婷| 国产亚洲精品熟女国产成人| 欧美亚洲国产怡红院影院| 四虎久久免费| 亚洲最大的网站| 亚洲欧洲日本一区二区三区| 欧美精品黑人猛交高潮| 在线视频欧美精品| 欧美13一16娇小xxxx| 91免费版黄色| 亚洲视频大全| 国产亚洲精品精品精品| 7777精品伊人久久久大香线蕉完整版 | 日韩高清二区| 亚洲国产精品视频一区| 日本少妇一区二区| 中文字幕美女视频| 日韩美女视频在线| 日韩精品美女| 伊人色综合影院| 床上的激情91.| 国产嫩bbwbbw高潮| 日韩中文字幕不卡视频| 日本精品国产| 欧美色图另类小说| 国产精品乱人伦| 亚洲av无码乱码在线观看性色| 国产91|九色| 午夜精品久久久久久久四虎美女版| 性活交片大全免费看| 一本色道亚洲精品aⅴ| 国产精品一区二区三区视频网站| 国产一区二区视频在线免费观看| 视频在线在亚洲| 一区二区成人免费视频| 精品亚洲夜色av98在线观看| 自拍偷拍亚洲图片| 欧美色图色综合| 亚洲免费在线视频| 久久天堂电影| 国产精品裸体一区二区三区| 日本视频一区二区| 国产成人愉拍精品久久| 久久久91精品国产|