久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

插件加載機(jī)制與did not activate報(bào)錯(cuò)排查:從原理到宿主設(shè)計(jì)

插件加載機(jī)制與did not activate報(bào)錯(cuò)排查:從原理到宿主設(shè)計(jì) 1. 大部分人對(duì)插件的第一印象其實(shí)是錯(cuò)的1.1 插件不是“附屬功能”而是主程序的戰(zhàn)略留白先說結(jié)論插件不是一個(gè)可有可無(wú)的附件它更像是主程序故意留出來的一塊“戰(zhàn)略留白”。主程序只保證核心路徑足夠穩(wěn)定把那些用戶差異很大、迭代速度很快、甚至帶有明顯第三方屬性的能力交給插件來承接。這樣主程序不用跟著第三方需求不停發(fā)版第三方也不用等主程序的排期兩邊通過一份約定好的契約松耦合。這套思路在工具軟件里已經(jīng)遍地都是。IDE 里的靜態(tài)分析插件、調(diào)試器擴(kuò)展瀏覽器里的開發(fā)者工具面板音樂播放器里的音源插件CI/CD 平臺(tái)里的通知和部署插件本質(zhì)上都是同一種模式。主程序負(fù)責(zé)“加載和管理”插件負(fù)責(zé)“干活”。所以你會(huì)看到 IAR plugins 這種話題反復(fù)出現(xiàn)——IAR Embedded Workbench 本身是嵌入式開發(fā)的主陣地它的插件通常用來補(bǔ)充芯片廠商特定的調(diào)試器支持、代碼風(fēng)格檢查、甚至自定義代碼生成。沒有插件系統(tǒng)這些碎片化需求會(huì)把主程序拖成一個(gè)大雜燴有插件系統(tǒng)大家各取所需。還有 MusicFree plugins。MusicFree 這類開源音樂播放器最典型的一點(diǎn)是播放器本體不內(nèi)置任何音源它的曲庫(kù)完全靠插件提供。插件只需要按約定暴露搜索、獲取播放地址、解析歌詞這類接口播放器就能“憑空”獲得一個(gè)音樂源。這種設(shè)計(jì)不是偷懶而是把無(wú)法預(yù)知、也無(wú)法由官方統(tǒng)一維護(hù)的內(nèi)容來源變成了用戶可以自己接入的能力邊界。主程序管播放體驗(yàn)插件管內(nèi)容來源誰(shuí)都不越界。1.2 熱搜詞背后的三類人關(guān)注點(diǎn)完全不一樣“plugins”這個(gè)詞在熱搜里火起來是因?yàn)樗瑫r(shí)戳中了幾類人的痛點(diǎn)。看到 “iar plugins 是干什么的” 的人大概率是嵌入式開發(fā)新手剛打開 IDE 發(fā)現(xiàn)一堆同名插件不知道裝哪個(gè)、也不知道哪幾個(gè)是剛需??吹?“musicfree plugins” 的人多半是在折騰自己的播放器想知道插件從哪來、安不安全、為什么別人的能放歌自己的不行??吹?“failed to load plugins web boot: 2 entries did not activate” 和 “harness failed to load plugins” 的人基本就是被生產(chǎn)環(huán)境啟動(dòng)報(bào)錯(cuò)按在地上摩擦的那一批。第三種人最慘因?yàn)檫@類報(bào)錯(cuò)信息通常非常抽象。它不會(huì)直接告訴你“某某插件因?yàn)槿鄙僖蕾囁詻]啟動(dòng)”只會(huì)丟一句“有 N 個(gè)入口沒有激活”。如果你不了解插件加載機(jī)制很容易陷入兩種極端要么覺得是插件市場(chǎng)服務(wù)器掛了要么覺得是宿主程序壞了。實(shí)際上大多數(shù)這類問題都出在非常具體、非?,嵥榈牡胤健N野堰@句話拆開講你就知道它到底在說什么了。2. failed to load plugins web boot一條讓人頭皮發(fā)麻的報(bào)錯(cuò)2.1 這條信息到底在拆解什么先看原文failed to load plugins web boot: 2 entries did not activate。這句話可以拆成三層。web boot是指宿主的啟動(dòng)階段走的是“Web 風(fēng)格的插件引導(dǎo)流程”也就是說宿主在啟動(dòng)早期就開始掃描插件清單并且通過動(dòng)態(tài)加載的方式來激活插件而不是把所有插件編譯進(jìn)主程序。2 entries did not activate表示這次啟動(dòng)掃描到了若干個(gè)插件入口其中有 2 個(gè)入口沒有成功執(zhí)行激活流程?!叭肟凇边@個(gè)概念很關(guān)鍵。在插件系統(tǒng)里一個(gè)插件可以有多個(gè)入口也可以只有一個(gè)入口。入口通常是在清單文件里聲明的比如plugin.json里的entry字段也可能是在一個(gè)統(tǒng)一的boot配置文件里列出的。宿主啟動(dòng)時(shí)拿到這些入口列表逐個(gè)去加載對(duì)應(yīng)模塊然后調(diào)用插件導(dǎo)出的activate函數(shù)。只要這個(gè)調(diào)用沒成功返回宿主就會(huì)把這個(gè)入口標(biāo)記成did not activate。所以linxin666/dsh-p這種名字出現(xiàn)在報(bào)錯(cuò)里并不是因?yàn)樗拗髡J(rèn)識(shí)這個(gè)插件只是因?yàn)樗拗鲯呙璧搅诉@個(gè)名字對(duì)應(yīng)的入口嘗試激活但失敗了。它可能是某個(gè)內(nèi)部團(tuán)隊(duì)發(fā)布的私有包也可能是某個(gè)構(gòu)建流程自動(dòng)生成的模塊名字長(zhǎng)得像亂碼其實(shí)很正常。不要因?yàn)樗皼]聽說過”就覺得是病毒或者系統(tǒng)問題先按技術(shù)問題處理。2.2 為什么“沒激活”比“加載失敗”更難處理“加載失敗”通常是硬錯(cuò)誤比如文件不存在、網(wǎng)絡(luò)超時(shí)、解壓失敗這類問題日志里往往有清晰的異常堆棧?!皼]激活”則是軟失敗模塊文件可能加載成功了代碼也執(zhí)行了但activate函數(shù)沒能正常完成。它可能是主動(dòng) return 了 false可能是拋了個(gè)被外層捕獲的異常也可能是在某個(gè)異步 Promise 里永遠(yuǎn)沒有 resolve宿主等不到結(jié)果就直接超時(shí)跳過。軟失敗最讓人頭疼的地方在于宿主程序本身不會(huì)崩潰其他插件可能照常啟動(dòng)業(yè)務(wù)表面上看沒有變化。但那個(gè)沒激活的插件提供的功能比如自定義命令、額外校驗(yàn)、自動(dòng)化步驟會(huì)在一開始就缺席。很多人直到某天手工操作發(fā)現(xiàn)“這個(gè)按鈕怎么沒了”才回頭翻啟動(dòng)日志發(fā)現(xiàn)那條報(bào)錯(cuò)已經(jīng)在角落里躺了兩個(gè)月。另外軟失敗往往不是單個(gè)原因?qū)е碌?。同一個(gè)報(bào)錯(cuò)里出現(xiàn) 2 個(gè) entry 都沒激活有可能它們各自的原因完全不同一個(gè)是因?yàn)榍鍐卫飁ntry路徑寫錯(cuò)另一個(gè)是因?yàn)樗蕾嚨纳嫌尾寮]啟動(dòng)導(dǎo)致它在初始化時(shí)調(diào)不到需要的 API。這時(shí)候如果只盯著“2 entries”這個(gè)數(shù)字排查很容易被帶偏。正確的姿勢(shì)是把每個(gè) entry 各自的錯(cuò)誤日志撈出來一個(gè)個(gè)單獨(dú)看。2.3 排查這類問題我按固定順序走我處理過不少插件啟動(dòng)問題總結(jié)下來固定順序能省一半時(shí)間。第一步永遠(yuǎn)先看完整日志不要只看最后一句。failed to load plugins web boot只是匯總信息真正的堆棧通常在它前面幾十行或者被打了debug級(jí)別。第二步確認(rèn)宿主啟動(dòng)時(shí)掃描的插件目錄到底有哪些文件。很多時(shí)候你改完插件文件但進(jìn)程跑在別的機(jī)器上讀的是舊路徑。第三步做單插件復(fù)現(xiàn)。把插件目錄清到只剩出問題的那一個(gè)再啟動(dòng)宿主。如果單獨(dú)啟動(dòng)能成功那就是插件之間的依賴順序問題如果單獨(dú)啟動(dòng)也失敗那就是插件自身的問題。這一步能直接砍掉一半可能性。第四步檢查清單文件。字段名大小寫、入口路徑相對(duì)誰(shuí)解析、activate是字符串還是函數(shù)名、版本號(hào)格式這些細(xì)節(jié)最容易出錯(cuò)也最容易被人忽略。還有一個(gè)值得單獨(dú)說的點(diǎn)處理這類問題最好先把宿主的失敗策略搞清楚。有些宿主遇到插件沒激活會(huì)繼續(xù)跑有些會(huì)直接中止啟動(dòng)。像harness failed to load plugins web boot: 1 entry did not activate huayu-yuan這種如果宿主選擇繼續(xù)跑那問題可能不會(huì)立刻爆發(fā)但如果你在 CI/CD 或者自動(dòng)化平臺(tái)里使用它后續(xù)步驟一旦依賴這個(gè)插件的功能就會(huì)在運(yùn)行中途出現(xiàn)“找不到能力”的連鎖錯(cuò)誤。所以在排查之前先看一眼宿主的配置項(xiàng)里有沒有failOnError之類的開關(guān)能幫你判斷該不該緊張。3. 從零搭一個(gè)插件宿主把報(bào)錯(cuò)復(fù)現(xiàn)出來3.1 最小插件與宿主的整體設(shè)計(jì)光說理論容易飄我建議你親手搭一個(gè)最小的插件宿主把did not activate復(fù)現(xiàn)出來。這個(gè)過程會(huì)讓你徹底理解插件加載的每一個(gè)環(huán)節(jié)以后再看到類似報(bào)錯(cuò)腦子里會(huì)自動(dòng)成像宿主讀清單 - 動(dòng)態(tài)導(dǎo)入入口模塊 - 調(diào)用 activate - 等待結(jié)果。我用的技術(shù)選型是 Node.js 原生 ES Module不用任何框架。好處是零依賴你只要裝了 Node 就能跑而且能直觀看到import()動(dòng)態(tài)加載的行為。整個(gè)工程結(jié)構(gòu)如下plugin-host/ ├── plugins/ │ └── hello-world/ │ ├── plugin.json │ └── index.js └── loader.jsplugins目錄下每個(gè)文件夾代表一個(gè)插件。宿主啟動(dòng)時(shí)讀取這個(gè)目錄找到所有子目錄逐個(gè)嘗試激活。插件的清單文件叫plugin.json入口模塊叫index.js。這個(gè)設(shè)計(jì)雖然簡(jiǎn)陋但已經(jīng)具備真實(shí)插件系統(tǒng)最核心的三個(gè)東西清單聲明、動(dòng)態(tài)加載、激活調(diào)用。3.2 核心代碼和每一步的含義先看插件的清單文件plugins/hello-world/plugin.json{ name: hello-world, version: 1.0.0, entry: ./index.js, activate: activate, dependencies: [] }這里的entry表示入口文件相對(duì)當(dāng)前插件目錄的路徑activate表示入口模塊導(dǎo)出函數(shù)的名字。真實(shí)插件系統(tǒng)里往往還會(huì)有deactivate、apiVersion、permissions這些字段這里先不展開保持最小可運(yùn)行。再看插件入口plugins/hello-world/index.jsexport function activate(context) { context.log([plugin] activate called); context.registerCommand(demo.hello, async (...args) { return { greeting: hello from plugin, args }; }); return true; } export function deactivate() { console.log([plugin] deactivate called); }activate函數(shù)接收一個(gè)context對(duì)象這個(gè)對(duì)象由宿主創(chuàng)建用來給插件提供注冊(cè)能力和日志接口。插件通過context.registerCommand把自定義命令掛到宿主上然后同步返回true表示激活成功。如果激活過程中需要做異步初始化可以把a(bǔ)ctivate寫成async function宿主會(huì)await它的返回值。最關(guān)鍵的是宿主加載器loader.jsimport { readdir, readFile } from node:fs/promises; import path from node:path; import { pathToFileURL } from node:url; const PLUGINS_DIR path.resolve(process.argv[2] || ./plugins); function createContext(manifest) { return { manifest, log: (...args) console.log([plugin:${manifest.name}], ...args), commands: new Map(), registerCommand(id, handler) { this.commands.set(id, handler); } }; } async function activatePlugin(dir) { const manifestPath path.join(dir, plugin.json); const manifest JSON.parse(await readFile(manifestPath, utf8)); if (!manifest.entry || !manifest.activate) { throw new Error(manifest 缺少 entry 或 activate); } const entryUrl pathToFileURL(path.resolve(dir, manifest.entry)).href; const module await import(entryUrl); const activate module[manifest.activate]; if (typeof activate ! function) { throw new Error(入口模塊沒有導(dǎo)出可調(diào)用的 ${manifest.activate}); } const context createContext(manifest); await activate(context); return { name: manifest.name, version: manifest.version }; } const results []; for (const entry of await readdir(PLUGINS_DIR, { withFileTypes: true })) { if (!entry.isDirectory()) continue; try { results.push(await activatePlugin(path.join(PLUGINS_DIR, entry.name))); } catch (error) { console.error(entry did not activate: ${entry.name}, error.message); } } console.table(results);這里面有幾個(gè)細(xì)節(jié)值得強(qiáng)調(diào)。第一動(dòng)態(tài)導(dǎo)入必須用pathToFileURL轉(zhuǎn)成file://協(xié)議直接傳絕對(duì)路徑給import()在 Windows 上會(huì)出問題。第二activate不能直接寫死要從 manifest 里讀函數(shù)名這樣不同插件可以約定不同的激活入口。第三createContext每次都新建保證插件之間拿到的上下文對(duì)象是隔離的不會(huì)互相污染命令表。我把錯(cuò)誤捕獲放在每個(gè)插件外面所以一個(gè)插件激活失敗只會(huì)打印一行錯(cuò)誤宿主繼續(xù)嘗試下一個(gè)。這正好模擬了真實(shí)宿主“跳過問題插件”的行為。如果你運(yùn)行這個(gè)工程正常情況下會(huì)看到hello-world出現(xiàn)在console.table的結(jié)果里如果一切順利你就在沒有任何框架的情況下完成了一次插件激活。3.3 故意制造一次 did not activate工程跑通之后我建議你故意改幾處代碼看看報(bào)錯(cuò)長(zhǎng)什么樣。第一次把plugin.json里的entry改成./missing.js再運(yùn)行宿主。你會(huì)看到類似這樣的輸出entry did not activate: hello-world Failed to load module URL: .../missing.js這就是最常見的did not activate原因之一入口指向的文件不存在。第二種把a(bǔ)ctivate改成init但是入口文件里沒有導(dǎo)出init。此時(shí)報(bào)錯(cuò)會(huì)變成entry did not activate: hello-world 入口模塊沒有導(dǎo)出可調(diào)用的 init第三種在activate函數(shù)里主動(dòng)拋一個(gè)異常比如加一行throw new Error(boom)。宿主會(huì)捕獲到這個(gè)異常并把插件標(biāo)記為未激活。這三種情況幾乎覆蓋了真實(shí)世界中絕大多數(shù)entries did not activate的根因。你親手復(fù)現(xiàn)一次之后再去看failed to load plugins web boot這種報(bào)錯(cuò)就不會(huì)覺得它神秘了。4. 插件系統(tǒng)的正確打開方式設(shè)計(jì)好這四件事4.1 第一件事定義“什么該做成插件”插件不是越多越好。一個(gè)優(yōu)秀宿主最需要克制的地方就是不要把所有功能都插件化。如果某個(gè)功能很穩(wěn)定、幾乎所有用戶都需要、而且跟主程序的核心邏輯強(qiáng)耦合那它就應(yīng)該留在主程序里。反過來如果某個(gè)需求存在明顯的個(gè)性化差異、第三方參與度高、更新頻率遠(yuǎn)高于主程序那它就該拆出去做成插件。拿 IAR 的場(chǎng)景舉例代碼編輯器的基本語(yǔ)法高亮、編譯調(diào)用鏈這些屬于主程序能力做成插件反而會(huì)增加用戶安裝成本。但特定芯片型號(hào)的調(diào)試器支持、某個(gè)團(tuán)隊(duì)內(nèi)部的代碼規(guī)范檢查、與公司內(nèi)部缺陷管理系統(tǒng)對(duì)接的功能做成插件就非常合理。原因很簡(jiǎn)單這類功能的目標(biāo)用戶只是一小部分人主程序不需要為少數(shù)人承擔(dān)長(zhǎng)期維護(hù)成本。4.2 第二件事生命周期管理是插件系統(tǒng)的命門一個(gè)插件從被掃描到被卸載至少要經(jīng)歷幾個(gè)階段加載、激活、運(yùn)行、停用。activate階段通常只做輕量初始化比如注冊(cè)命令、建立連接、注冊(cè)事件回調(diào)。真正重的操作比如拉取數(shù)據(jù)、加載模型應(yīng)該放到用戶真正觸發(fā)功能時(shí)再做。如果你的插件在activate里連了一個(gè)超時(shí)不可達(dá)的外部服務(wù)宿主啟動(dòng)就會(huì)變慢甚至因?yàn)?await 太久被宿主判定為“未激活”。deactivate同樣重要。插件被禁用、卸載、升級(jí)之前宿主會(huì)調(diào)用它。這時(shí)候你必須把事件監(jiān)聽器、定時(shí)器、子進(jìn)程、臨時(shí)文件全部清干凈。我見過很多插件功能本身沒問題但升級(jí)時(shí)舊模塊的資源沒釋放導(dǎo)致新版本一加載就遇到端口占用或者內(nèi)存暴漲。生命周期不是走個(gè)過場(chǎng)它是插件能否熱插拔的基礎(chǔ)。還有一個(gè)容易踩的坑activate里如果用了async一定要記得把異步初始化完成之后再返回。如果你只是調(diào)用了一個(gè)異步函數(shù)但沒有 await宿主會(huì)認(rèn)為插件已經(jīng)激活成功可實(shí)際上插件內(nèi)部的初始化還在半路。等真正用到它提供的功能時(shí)可能因?yàn)閮?nèi)部狀態(tài)沒準(zhǔn)備好而報(bào)錯(cuò)。這樣的 bug 非常難查因?yàn)槿罩纠餂]有任何失敗信息。所以對(duì)宿主來說要嚴(yán)格等待activate的 Promise對(duì)插件作者來說要對(duì)自己寫的每個(gè)異步操作負(fù)責(zé)。4.3 第三件事依賴和版本決定插件生態(tài)能不能長(zhǎng)大插件之間不應(yīng)隨便互相依賴。如果一個(gè)插件需要調(diào)用另一個(gè)插件的內(nèi)部變量一旦后者升級(jí)或者卸載前者就會(huì)莫名其妙“did not activate”。規(guī)范的做法是宿主作為唯一的中介插件只能通過宿主暴露的 API 和上下文交互不能直接 import 同級(jí)插件的源碼。如果確實(shí)存在依賴關(guān)系就在 manifest 里聲明dependencies宿主按照拓?fù)漤樞蛞来渭せ?。版本管理方面宿主要有自己的apiVersion插件在 manifest 里聲明自己要求的 API 版本范圍。宿主加載插件時(shí)先做一次版本匹配檢查不匹配就直接跳過而不是等到調(diào)用時(shí)才崩。版本字段建議使用語(yǔ)義化版本并且要容忍小版本差異。另外插件自身的升級(jí)也要有記錄。很多插件系統(tǒng)出問題都是因?yàn)楸镜鼐彺胬锘熘f版本和新版本。那個(gè)failed to load plugins web boot: 2 entries did not activate里經(jīng)常就藏著一個(gè)“緩存目錄殘留了舊插件文件”的故事。所以插件宿主最好維護(hù)一份清晰的安裝清單記錄每個(gè)插件的名字、版本、安裝時(shí)間、來源路徑這比到時(shí)候靠猜要可靠得多。4.4 第四件事權(quán)限和沙箱別把信任當(dāng)免費(fèi)午餐插件本質(zhì)上是“一個(gè)能執(zhí)行任意代碼的外部模塊”。你自己寫的插件當(dāng)然可信但第三方插件呢用戶從網(wǎng)上下載的插件呢如果宿主不做任何限制一個(gè)插件就能讀取所有文件、發(fā)任意網(wǎng)絡(luò)請(qǐng)求、訪問宿主的內(nèi)存數(shù)據(jù)。這在單機(jī)工具里也許還能接受放在服務(wù)端或者 CI/CD 環(huán)境里就是災(zāi)難。所以設(shè)計(jì)插件系統(tǒng)時(shí)必須把權(quán)限模型想清楚。最基礎(chǔ)的是讓插件在 manifest 里聲明它需要哪些權(quán)限宿主在安裝時(shí)向用戶展示運(yùn)行時(shí)不授予未聲明的權(quán)限。更進(jìn)一步是把插件放進(jìn)沙箱里執(zhí)行比如瀏覽器插件用 iframe 和消息通道隔離Node 環(huán)境用獨(dú)立的 worker 線程。對(duì)內(nèi)容型插件比如 MusicFree 的音源插件還要額外考慮插件代碼本身可能來自不可信源用戶要做到“不知道來源的插件不要隨便裝”。這里不是讓你搞一個(gè)復(fù)雜的零信任體系而是提醒你插件系統(tǒng)的便利性很容易讓人忽略它的風(fēng)險(xiǎn)。插件能調(diào)用的能力越少宿主系統(tǒng)就越穩(wěn)。一個(gè)只能操作自己目錄、只能通過宿主 API 干活的插件就算寫得再爛影響范圍也有限。5. 高頻插件問題速查表與我的實(shí)操心得5.1 把常見現(xiàn)象、可能原因和排查方向放進(jìn)一張表我在實(shí)際排查和開發(fā)過程中遇到過很多插件相關(guān)的問題。我把最典型的情況整理成了一張表方便你按圖索驥。報(bào)錯(cuò)或現(xiàn)象常見原因優(yōu)先排查方向failed to load plugins web boot: 2 entries did not activate插件 initialize 拋錯(cuò)、入口文件不存在、依賴未加載看完整啟動(dòng)日志里的每個(gè)插件堆棧做單插件復(fù)現(xiàn)harness failed to load plugins web boot: 1 entry did not activate huayu-yuan單個(gè)插件入口激活失敗但宿主繼續(xù)運(yùn)行單獨(dú)加載 huayu-yuan確認(rèn)其依賴項(xiàng)和入口路徑插件列表里看不到某插件掃描目錄不對(duì)、文件名不是 plugin.json、目錄結(jié)構(gòu)不對(duì)確認(rèn)插件目錄路徑、清單文件名和字段大小寫插件能加載但沒有功能activate注冊(cè)了命令但宿主沒保存或注冊(cè) ID 沖突檢查registerCommand是否返回成功查看是否有重復(fù)注冊(cè)插件 A 依賴插件 B但 A 先啟動(dòng)了缺少依賴排序機(jī)制在 manifest 里聲明 dependencies宿主按拓?fù)渑判蚣せ畈寮?jí)后開始報(bào)錯(cuò)API 版本不匹配、緩存殘留舊文件對(duì)比新舊版本差異清空插件緩存目錄后重試宿主啟動(dòng)變慢插件在activate里做了重量級(jí)初始化把耗時(shí)操作抽到命令觸發(fā)時(shí)執(zhí)行并用啟動(dòng)時(shí)間統(tǒng)計(jì)驗(yàn)證這張表不能覆蓋所有情況但它能給一個(gè)基本方向。萬(wàn)變不離其宗插件問題的核心永遠(yuǎn)是“清單聲明”、“入口路徑”、“激活函數(shù)”、“依賴版本”這四件事。5.2 幾條不怎么寫進(jìn)文檔的土辦法第一給插件加載過程加上時(shí)間和狀態(tài)統(tǒng)計(jì)。我之前在宿主啟動(dòng)后打印一張表列出每個(gè)插件的激活耗時(shí)和最終狀態(tài)。這個(gè)習(xí)慣幫我提前發(fā)現(xiàn)了不少問題某個(gè)插件激活從 50ms 漲到 800ms雖然沒有報(bào)錯(cuò)但已經(jīng)是在超時(shí)邊緣試探了。性能退化比直接失敗更難發(fā)現(xiàn)必須靠數(shù)據(jù)暴露問題。第二創(chuàng)建“最小宿主測(cè)試法”。每寫一個(gè)插件都準(zhǔn)備一個(gè)獨(dú)立的空項(xiàng)目只包含宿主和一個(gè)待測(cè)插件。這樣每次調(diào)試都能排除干擾。不要在一個(gè)裝了三十個(gè)插件的環(huán)境里調(diào)新插件因?yàn)槟悴恢朗钦l(shuí)在報(bào)錯(cuò)也不知道是誰(shuí)在搶資源。第三遇到did not activate先查activate這個(gè)名字是不是被改掉了。很多人在迭代時(shí)把激活函數(shù)從activate改成start但忘了改 manifest。宿主不會(huì)智能到自動(dòng)猜測(cè)你的意圖它只會(huì)按聲明找。這種問題一眼看過去特別低級(jí)但恰恰是最常見的。第四盡量讓插件的錯(cuò)誤信息包含插件名和版本號(hào)。宿主捕獲異常時(shí)要在錯(cuò)誤對(duì)象上補(bǔ)充pluginName、pluginVersion字段。等日志系統(tǒng)一跑起來你搜索pluginNamehuayu-yuan就能把所有相關(guān)錯(cuò)誤一次性撈出來而不是靠肉眼在一堆日志里找。5.3 最后分享一點(diǎn)長(zhǎng)期經(jīng)驗(yàn)我自己踩過最深的坑是在一個(gè)自動(dòng)化平臺(tái)里升級(jí)了插件版本但沒注意到新版本把a(bǔ)ctivate從同步函數(shù)改成了異步函數(shù)還改了啟動(dòng)順序。結(jié)果一部分任務(wù)正常一部分任務(wù)隨機(jī)失敗整整排查了兩天。后來我把插件的健康檢查寫進(jìn)了宿主的啟動(dòng)流程里每次發(fā)版先看插件激活名單是否完整再看激活耗時(shí)是否正常最后才放業(yè)務(wù)流量進(jìn)來。這個(gè)習(xí)慣幫我擋住了后面很多次本可以避免的事故。插件系統(tǒng)就像一個(gè)廚房主程序是灶臺(tái)插件是調(diào)味品和半成品。灶臺(tái)本身穩(wěn)定你才能放心嘗試不同的配方但如果有人把一瓶不明來歷的醬料直接倒進(jìn)鍋里你連菜都沒法吃了。所以無(wú)論你是寫插件、用插件還是維護(hù)一個(gè)插件宿主記住一件事尊重清單、敬畏生命周期、控制權(quán)限、保留監(jiān)控。做到這四點(diǎn)絕大多數(shù)插件問題都能在爆發(fā)之前被你發(fā)現(xiàn)而不是等到生產(chǎn)環(huán)境給你一個(gè)冷冰冰的did not activate。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
少妇熟女一区二区三区| 骚货人妻偷情自拍在线视频| 欧美亚洲丝袜美女电影| 啊啊啊好舒服视频| 精品人妻免费观看| 色诱avtt| 曰韩中文人妻视频| 国产13区| 麻豆亚洲AV成人无码久久精品| 四虎国产精品永久地址入口| 人妻日日夜夜精品| 国产精品久久久久久久无码AV | 国产精品一区二区密臀| 日韩人成网站在线播放| 久久综合久色欧美综合狠狠 | 情色大香蕉| 高清无码 国产精品| 区一在线观看| 乱伦强奸区日韩| 激情丁香五月| 日韩精品-原创伙伴| 国产三级日产三级韩国三级| 欧美色图在线视频少妇| 岛国1区2区3区在线观看| 国产免费一区二区三区最新不卡| 友优传媒精品在线一区二区| 国模精品娜娜一二三区| 蜜臀久久99精品久久久久久成人小说 | 国产免费操逼| 色制服丝袜夫妻av一区| 国产区91柔拿会所技师| 丝袜AV一区二区三区| 色色综合网站| 97啪啪| 日本熟妇熟色97一本在线观看| 欧美色97| 7月婷婷综合| 国产精品精品系列在线观看| 久久精品视频28| 九九精品99| 亚爽爽爽爽爽爽爽爽| 欧美性生活免费网| 久久精品中文字幕女同| 天天影视网综合少妇| 国产后入| 尤物视频偷拍免费| 五月天色图影视| 久操精品| 日韩图区| 男人的天堂亚洲| 无码久久亚洲高清,| 亚洲熟女乱色| 被男人添B超爽视频| 中文字幕二区日韩天堂| 人人操人人舒服| 亚洲综合九| 免费簧片在线观看| 中文字幕人妻丝袜乱一区三区| 色啪网| 翔田千里AV无码秘 三区| 天天射网| 欧美激情性爱视频网站| 欧美亚洲在线| 成人精品视频一区二区| 国产精品久久久久综合| 精品999一区二区| 97在线免费看| 欧美午夜视频精品久久| 男人天堂2017| 精品一区二区三区四区外站| 狠狠干综合| 人人看黄色视频| 国内外毛片在线观看| 色噜噜狠狠色综无码久久合欧美| 国产精品久久久久无码A√| 96精品一区| 激情五月婷婷| 亚洲AV无码翔田千里网站| 熟妇高潮二区三区| 99热免费| 你懂得91| 哑洲在线| 欧美性天天影院| 日本一区二区三区欧美日韩中文字幕| 蜜桃av综合网发布| 少妇厨房愉情理伦片bd在线观看| 青草成人免费视频一COm| 色九九九| renqi久久久久久久久久久久| 国产精品原创巨作?v网站| 久操免费观看| 99色热| 可以免费看黄片的视频| 午夜精品久久久久久久99热影院| 免费观看啪视频| 91色交| 怡红院亚洲怡春院av| 亚洲色图久久成人| 操穴国产| 99欧美| 美国人人操人人操| 97色碰| 久久婷婷一区| 99热这里只有精品1| 青青草在线视频人人想人人上| 欧美一区二区三区互相| 人妻天天爽天天爽三区| 亚洲国产97| 欧美亚洲美少妇一区二区| 午夜精品久久久久久久男人的天堂| 日韩国产不卡在线视频| 久久精品国产亚洲AV高清演员表| 色99999| 久久熟女精品不卡一区| 中文字幕伊人| 和协影院中文字幕三区| 日日干男人的天堂| 屌妞视频久久久久久久| 国产亚卅97| 成人资源中文字幕在线观看天天| 久久婷婷六月综合| 蜜桃视频精品一区二区| 久久九九99| 免费视频a级毛片免费视频| 亚洲第一狼人丝袜美女另类| 国产欧美岛国精品一区| 日本操大逼| 少妇一级婬片免费放一级a性色.| 日本加勒比无码专区| 99re99在线视频| 日本三级韩国三级美三级91| 亚洲蜜臀视频精品久久| 青操影院| 天天色播亚洲综合网站| 大香蕉久| 久久精品性| 97任你吞精| 亚欧毛片基地国产毛片基地| 丁香七月婷婷| 欧美一级美片在线观看免费| 四虎影视永久在线免费| 在线观看亚洲专区| 性爱av在线免费观看| 天天操天天舔| 狠狠干狠狠色| 久久久97| 欧美色九九九| 色九九九综合| 91中文字幕在线观看| 亚洲有薄码区久久在线一区| 国产精品人妻无码久久久老鸭窝| 日韩黄色片子| 久草视频观看视频在线| 能看的av| 国产久久日韩网站导航| 神马久久69| 亚春色色| 欧美一区二区三区不卡高清视频| 国产一区自拍欧美日韩| 久久精品国产免费观看99| 插欧洲美女欧美精品| 一区二区三区机械有限公司| 嗯嗯嗯嗯啊啊啊好紧好大| 九九九九日本| 91伊人久久在线| 超碰 欧美| 999精品乱码| 九九视频黄色片| 国产精品人人爽人人做可爱福利| 亚洲天堂无码| 超碰色中文| 欧美色图下一页| 亚洲黄网在哪免费看| 丁香五月影院| 极品后入免费视频| 黄色成年| 亚洲AV性爱电影| www.zbzhongsen.com| ,国产乱人伦精品一区二区三区| 91日产欧美| 人妻精品一区二区三区| 蜜乳成人AV| 99久久婷婷丁香| 日韩精品亚洲专区在线影视| 久久精品国产99国产精品亚洲| 国产亚洲精品美女久久久| 91无摭挡| 69精品少妇一区二区三区蜜桃| 人人爱人人乐人人操| 日日AV加勒比| 长长久久88视频| 桃花色综合影院| 日韩欧美三级| 成人青青草原伊人| 一起草三级AV电影在线观看| 国产精品对白内射| 日本一级性爱| 手机在线中文字幕国产| 97日视频| 禁止观看美女黄| 看一级黄色视频| 精品人成视频在线观看| 美女诱惑久久| 青青草一区二区高清无码视频| 日韩无码一级黄色av片| 一区二区三区在线日韩影院观看| 黑操B| 777奇米影视777四色| 无码人妻精品一区二区三区99不卡| 欧美激色| 少妇九九九九| 国产精品爆乳懂色蜜乳| 区二区亚洲婷| 中文高清一区二区的| 91人精品妻入口| 精品免费一区| 啪啪啪综合网| 久久亚洲中文字幕视频| 国产91亚洲精品一区二区三区| 91九色丨风韵犹存| 色综合大香蕉| 欧美色图亚洲色,麻豆| 久久久性少妇| 国产成人五月天丁香花| 综合久久婷婷| 综合色播| 一区二区三区在线资源| 九九亚洲| yazhousetuoumei| 国产高清不卡视频| 操死我了嗯嗯嗯| 91麻豆一二三区| 美女91色黄18| 中文字幕乱妇免费视频| 亚洲国产综合视频| 精品国产91内射久久| 久久久久久久亚洲Av无码| 亚洲强奸乱伦影视网| 国产日本久久免费精品| 国产欧美日韩在线观看麻豆传媒公司| 亚洲欧美激情另类色图| 玖玖人人爱| 男人天堂.AB| 老熟女熟妇| 国产一| 中文字幕AV中出| 久久精品一区二区一8| 一区操逼日比视频| 熟妇熟女亚洲天堂网| 亚洲影院小综合| 女同性恋中文字幕| 日韩av在线精品观看| 中文字幕一区二区免费在线| 狠狠操狠狠| 亚州中文字幕超碰97| 亚洲精品蜜桃久久久| 欧美97色| 搡老女人老妇女AAA一VU麻豆| www色色色com| 午夜精品人妻二区三区| 国产狂喷潮在线精品| 国产色精品午夜大片| 中文字幕在线24| 夫妻AV网站| 亚洲AV成人无码一二三久久| 日本污ww视频网站| 国外91| 亚洲国产91精品一区二区久久| 激情五月综合网| 久久精品成人| AV无码久久久精品| 97资源站久久| 久久亚洲精品成人av| 伊人991| 久久产精品一区二区三区电影 | 久久草草亚洲蜜桃臀| 91在线页| 97操b| 久久五月婷| 超碰偷拍| 麻豆60秒| 日韩福利电影网| www.人人cao| 国产和美国毛片| 18禁美女裸体无遮挡啪啪| 天堂资源欧美| 国产女人视频三四五区| 330dv亚洲成年视频网| 5252色欧美在线男人的天堂| 中文字幕在线观看视频www| 男人成人黄色视频在线观看免费下载| 色综合av男人天堂| 中文字幕成人乱码熟女精品国50| 久久婷婷精品| 久草午夜| 亚洲综合图片在线| 婷婷久久五月| 亚洲本色精品一区二区久久| 综合网久久| 特级毛片特黄久久免费看| 久久成人网站| 欧美黑人XXXⅩ高潮交| 伊人麻豆传媒| 嗯~啊~快点 死我视频| 国产中文字幕在线点播| 精吧天堂| 欧美熟爽综合| 国产精品自在线发布| 97视频免费在线观看| 色眯眯av| 天天综合网久久ww| 精品一区二区成人动漫| 中文字幕丰满人妻日本| 蜜乳av一区二区三区| 日本久久99| 色色网91| 国产在线综合网| 蜜臀久久99精品久久久久久成人小说| 四虎影视在线| 黄网色一区二区三区四区精品| 亚洲国产97| 91女优在线观看 | 中文字幕日韩精品久久| 99热这里都是精品| 97视频在线免费| 美日韩一二三区| 99青草| 91五月天| 99热这里| 玖色AV| 丁香激情网| 国产亚洲精品美女久久久| 96超碰网| 欧美在线|亚洲| 九久久九精品视频| 2019天天操天天爽天天拍| 亚洲AV乱码专区国产噜噜亚洲| 被体育老师抱着c到高潮| 变态乱伦伪娘灌肠一区二区| 成人小说另类在线| se吧提供国产乱老熟视频胖女人 | 人人操人人插人人摸人人干| 国产综合色精品在线观看| 美女被啪到深处抽搐视频| 玖玖久久久| 欧美 亚洲 在线| 精品一级毛片在线观看| av毛片aaaaa免费看| 最新日本中文字幕| 日本性交操一区二区不卡系列| 成人97人人超碰人人| 人人操人人插 - 百度 - 百度| 欧美激情激情xxxx欧美专区| 色欲av一区二区三区蜜芽| 国产精品网址| 午夜福利视频在线一区| 家庭乱伦麻豆| 国产蜜臀在线| 999精品乱码| 五月天我淫我色av| 婷婷AV一区二区三区| 国产av激情无码久久天堂| 熟妇xxxxx性春色| 精品伊人久久久大香线蕉小说| 欧美黄片欧美黄片xxx| 伊人五月天| 99久久无色码| 91人妻Pr| laoshunv91| 亚洲色交| 日日操丁香五月天| 91人妻爽爽人人做人人澡| 91日日| 欧美综合色图片| 亚洲伊人久久综合97| 亚洲av综合色区无码一| 日日狠狠久久偷偷色综合免费| 久久久影院| 超碰天天操| 放黄片放3级黄片没穿衣服| 日韩人成网站在线播放| 亚爽爽爽爽爽爽爽爽| 天堂av最新电影网| 国产精品久久久久久高清无码免费看 | 美女大乳久久久久久久女人18| 亚洲 日本 不卡| 美女操逼福利视频| 欧美性爱一区二区三区四区| 蜜臀久久99精品久久久电影| 92福利社视频| 欧美九九九| 国内精品a| 亚洲中文字幕97久久精品少妇| 91精品久久久久五月天精品| 精品91摸| 久久性爱视频免费看| 九九aV| 91n.欧美| 国产AV超爽| 天天日天天干天天摸天天操| 国产女人操逼视频| 精品人妻一区二区三区夜夜| 强奸乱伦大香蕉| 欧美综合骚| 狠狠婷婷亚洲中文综合久久| 欧美精品第四五页中文字幕在线观看| 国产精品久久久吖| 极品内射| 亚洲中文字幕熟女| 五月天综合网| 人、人、摸,人、人、草| 国产丝袜啪啪| 男人天堂久久精品| av网站免费看| ai欧美亚洲小说| 青青草丝袜在线视频| 久久伊人影院| 99re这里只有精品中心播放| 国产AAAAAABBBBB| 青女在线| 午夜精品久久久久久久第一页按摩| 激情看片网站| 亚洲春色一区二区三区| 欧美性综合| 妺妺跟我一起洗澡没忍住| 人妻激情视频| 精品一区二区三区最新| 最好看的中文字幕在线2018| 99在线观看视频在线高清| 国产久久久久久久久一区二区| 久久专区| 国产精品不卡一区二区电影| 亚洲国产婷婷在线播放| 精品国产精品一区二区| 亚洲情色电影网| 天天做日日做天天欢。| av 模特一区了| 后X久久| 国产女同视频在线播放| 欧美se综合| 欧美精品91| 动漫爆乳3D奶水一区在线观看| 欧美黑人XXXⅩ高潮交| 久久精品国产AV一区二区三区| 国产中文字幕在线观看| 日韩AV色图| 91色爽欧美| 国产女性无套 免费观看| 国产成年女人免费视频播放a| 久久久久白虎| 久久久偷拍| 亚洲欧美内射| 午夜福利一区二区三区四区五区色婷婷| 超碰激情808| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 26uuu最新| 亚洲成人ab| 欧美少妇高潮视频| 无码精品啪啪啪一区二区三区三州| 日本最新免费韩国1区2区视频播放| 97超碰国产亚洲精品资源| 免费看日本操逼视频| 加勒比伊人综合| 99久久久无码国产精品性男| 亚洲AV无线| 亚 欧 美 综合| 中出欧美| 亚91亚洲网| 懂色中文一区二区三区| 青木玲在线不卡| 亚洲图片欧洲图片aⅴ| 精品人妻伦一区二区三区久久| 中国乱伦一区二区| 新91视频.cmp| www.狠狠干.coom | 九九无码视频| 亚洲欧美不卡线| 一道本东京热加勒比一区二区三区| 久热影视| 国产丝袜高跟美女av免费观看| 秋霞曰韩R级| 欧美图片校园春色| 99国产精品人妻人伦| 看免费的黄片| 综合情欲网| 狠狠操狠狠| 国产av激情无码久久天堂| 亚洲色入欧美| 色五月av| 国产精品一区二区久久精品| 啊啊啊啊好大好硬啊啊啊啊啊| 日本韩欧美在线播放a| 成人性生活高清视频在线播放| 久久综合18p| 伊人一区二区在线播放| 亚洲色综网| baisiav| 韩日色费| 色悠悠伊人网五月天| 久都青青视频| 插日本熟女视频| 777超碰| 好舒服视频| 婷婷综合五月| av在线观看不卡网站| 97国产精选| 99re8超碰| 国产18精品亚洲精品| 亚洲欧美一区二区三区在钱蜜桃| 曰韩操B| 精品免费囯产一区二区三区 | 欧美性夜| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | www.色婷婷色综合| 日本性交操一区二区不卡系列| 舔人妻中文免费视频| 国产性刺激| 人妻22p| 6080YYY午夜理论片在线观看| 国产麻豆91欧美一区二区久久婷婷国产精品| 91久精品| a网站免费观看| 亚洲一级特黄大片在线播放91| 久久东京热久久| 久久偷偷色综合蜜桃| 亚洲精品一区二区三区新线路| 大色综合网| 国产高清视频无码在线| 91天堂| 精品一区99999| 四虎视频在线观看| 超碰亚洲欧美日韩无| 狠狠综合网| 久久精品中文字幕无码l| 偷拍精品一区二区三区| 精品日日人妻| 女人18精品一区二区三区| 午夜福利在线视频1000| 超碰激情808| 精品少妇后入一区二区三区四区人妻巨乳 | 麻豆传媒一区二区在线观看| 亚洲熟女综合| 97精彩视频网站| 青青草日韩无码| 伊人网在线点播| 欧美97视频| 成人色女网| 综合国产97| 女优视频第10页| 99色热| 97人人干人人操| 在线无码操| 国产综合网站在线播放 | 超碰精品人妻狠狠干| 九九国产| 无码男人天堂| 久操视频免费观看| 久久夜精品一区二区三区| 五月综合久久| 五月激情小说| 精品久久久久久亚洲| 一区二区三区四区色图| 激情丁香五月| 欧美78p| 欧美性爱97超碰| 99re6久热只有精品6在线直播 | 精品无码一区二区| 日韩 人妻 精品| 中文字幕55555| 4141514逼喷水三级片| 五月激情综合网| 亚洲第一综合| 婷婷丁香六月天| 激情综合五月| 久久久久中出| 亚州人妻| 久草线上视频免费看| 懂色影视久久| 亚洲深夜福利| 放黄片放3级黄片没穿衣服| 国内偷拍精品一区二区| 久热在线精品免费观看| 国产一区二区精品久久99| 天天干夜夜操网| 操操碰| 北京专精特新企业招聘信息| 人妻人人澡人人爽人人| 亚洲清纯唯美| 日本三级久| 狠插 制服 自拍| 亭亭在线资源| 欧美中文综合| 国产极品精品美女视频| 国产一区二区欧美日本| 亚洲男人天堂Av| 10000部十八禁看电影| 香蕉大久久久| 欧美综合第一页| 亚洲 无码 偷拍| 亚洲精品一二区| 亚洲欧美国产成人综合不卡| 久久亚洲婷婷| 国产精品视频电影| 天美传媒AV国产在线| 中文字幕伊人| 亚洲丝袜少妇在线| 亚洲A曰本VA欧美VA视频| 亚洲中文字幕久久人妻| 国模精品娜娜一二三区| 久久黄黄| 超碰98综合网| 日韩精品午夜操呦呦不卡影院| 免费在线看黄片av| 国产精品呦一区二区三区| 免费毛片在线播放| caopeng97| 丝袜狠狠草尤物 91| 欧美的精品的视频| 久久欲| 性一交一乱一交A片久久四色| 精品人妻一区二区三区-国产| 粉嫩av一区二区三区四季| 日韩97超碰| 日本一区二区不卡精品| 骚货人妻偷情自拍在线视频| 夜夜 中文视频rt| 亚洲人天堂| 欧美日韩精品一区二区三区高清| 又大又白奶子| 欧美在线干| 久久亚洲国产成人| www.婷婷五月天| 蜜臀AV成人精品蜜臀| 0755午夜福利视频| 亚洲图片日本AⅤ欧美在线| 激情小说五月天| 欧美少妇色综合| 黄片www视频免费| 国产精品久久久久无码AV会牛| 日韩天堂av电影在线观看| 性色高清..……| 亚洲精品国产熟女| 亚洲18禁| 99久久免费看精品国产一区| 国产精品无码av在线 | 99国产精品久久久久久久成人热| 日韩91网| 亚洲福利中文字幕在线| 国产精品久久久久久久久久久久久久久久久久 | 涩涩这里只有精品视频| 黑丝少妇在线观看| 九九九九一区| 精品偷拍13p欧美dodk视频| 色老汉色| 亚洲九九九| 国产原创自拍| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 久热精品在线| 欧美日韩性爱操大逼| 国产丰满少妇久久久精品影院| 中文字幕丰满人妻日本| 久热9| 欧美激情久| 家庭乱伦国产| 99re不伦| 懂色中文一区二区三区| 日韩伦理视频| 午夜成人爽爽爽爽A片李冰冰| 五月激情小说| 久久αⅴ| 激情综合五| 国产精品夜夜| 99热精品在线观看| 欧美色性情| 亚洲成人免费电影| 国产吹潮女在线观看| 成年人一级黄色毛片大全在线观看| 男生女生啊啊啊啊| 日韩无码操逼片| 九X超碰| 爽极品影院| 麻豆人妻少妇在线免费观看| 1769国内精品视频| 青青草大香蕉在线视频| 国产毛片久久久久久久| 日韩不卡码| 日韩丰满熟妇| 综合天天。| 色丁香久久| 黑人精品欧美一区二区蜜桃| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 妺妺跟我一起洗澡没忍住| 青青草在线视频人人想人人上| 一区二区不卡视| 精品妇女一区二区三区| 性猛交| 亚洲丁香花色| 久久精品人妻一区| 色婷婷aV一区二区三区麻豆综合| 白丝被操91| 国产欧美日韩臀| 一区二区影院| 不卡六六在线91| 99热| 精品一区二区三区国产 | 成年人一级黄色毛片大全在线观看| 熟妇无码视频三区| 欧美强奸乱| av2014 日韩在线中文字幕| 一本道综合色图| 操国产逼| 亚洲精品人伦一区二区| 日韩国产精品人妻无码久久久| 曰韩精品九九无码| 97免费在线视频| 亚洲淫色网中文| 一区二区三区免费岛国片| 国产精选视频| 日本少妇va7777| 亚洲精品第一| 日韩无限资源| 天天内射| 五月天婷婷基地| 国产精品嫩草影院午夜两性| 亚洲熟女偷拍在线观看| 国产成人亚洲精品自产在线| 国模无码人体一区二区三| 一二三卡欧美日韩人妻免费精品| 午夜天堂精品久久久久91| 亚洲狠狠入| 激情亚洲天堂| 欧美精品999| 91精品亚洲内射孕妇| 91青青在线视频| 91 丝袜在线| 日本熟女中文| 日韩激情毛片一级久久久| 丰满熟女人妻一区二区三五十一路| 亚州精品一区二区三区香中文字幕在线| 在线人成亚洲视频免费观看| 啪啪啪男女亚洲中文字幕99| 综合激情97 | 青久久| 天天操av懂色| 4399成人黄A片| 中字幕人妻一区二区三区| 啪啪啪男女亚洲中文字幕99| 久久久av爱| 亚洲天堂,男人| 嗯啊抽插大香蕉网页| 人人操人人色网| 亚洲风情综合网| 亚州 综合 色图| 久久久精品国产亚洲伊人| 久久一区二区三区入口| 一级AV性爱| 中文字幕99999| 久9综合在线| 亚欧美综合网。| 99国产精品人妻人伦| 97人人干人人操| 一本大道不卡一二三区| 亚洲中文字幕在线视频一区二区| 97人人爱人人乐| 超碰欧美97资源| 超碰97最新人妻| 亚洲综合另类欧美久久久| 天天日天天爽| 久久XX| 久久久久亚洲Aⅴ无码| 操婢日韩| 成人性爱免费播放| 91丝袜在线观看| 精品国产乱码久久久| 亚洲欧美视| 国产视频小说| 男人天堂综合| 天天摸天天碰天天添青青| 久久久久久久久久久久久久9999| 99在线精品观看99| 中文字幕一区二区三区视频播放| 亚洲AV无码黄色强奸| 激情无码日韩| 人人操肉肉| 强奸乱伦亚洲第一页| 成人怡红院| 高潮精品| 看全色黄大色大片免费视频| 最近二区三区视频大全| 久久 精品| 伊人九九九| 久久久久夜夜夜夜| 精品999一区二区| 日少妇视频| 91丝袜| 国内伊人久久久久久网站视频| 精品免费囯产一区二区三区| 日本媚薬中文字幕在线| 人妻久久| 蜜臀久久99精品久久久久久无删减 | 激情久久久| 91精品无码人妻系列| 国产精品老师| 婷婷综合网| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 久久欧美按摩999| 久久久亚洲精品电影免费看| 午夜大香蕉| 99热综合在线| 色五月第四色| 高潮综合网| 丰满欧美放荡少妇在线| 久久久性少妇| 婷婷爽人人婷婷爽视频| 97超碰色| 亚瑟国产精品久久无码| 国产精品一级毛片不卡视| 黄片在线免费在线观看| 天美麻花大全视频| 久久秀这里有精品| 欧亚不卡| 精品二区三四区五电影 | 欧美 日韩 亚洲 春色| 亚洲天堂AV在线播放| 欧美黄片视频在线观看免费| 伦理片秋霞免费影院| 久久精精区一区二区一蜜桃一区二区| 97超碰天天爱天天爱| 日韩电影天堂视频一区二区| 午夜九九| 女性91网站| 九月丁香婷婷色| 国产美女高潮叫床视频| 无码99| 色欲色香天天天综合网www-亚洲综合国| 日本天天干天天日一区| 粉嫩av一区二区三区天美传媒| 26uuu久久| 视频在线观看免费一区二区三区| 综合色99| 综合色久| 农村妇女精品一区二区| 久久久久久久久久久久97| 热思思免费视频| 国产精品久久久无码AV网站| 蜜桃臀av在线观看| 91狠狠综合久久久久久| 99这里都是精品| 欧美999| 93人人操人人| 又大又黄国产| 久久久久国产| 呦呦一区| 岛国艾薇凹凸视频天堂| 日本天天人人狠狠在线日美女| 人人澡人人弄| 久久午夜色播影院免费高清| 国产高清MV操逼视频| 青青草日韩无码| 久久AV色| 亚洲综合欧美| 凹凸视频特色日本特黄| 久久一二三级一一一| 97se亚洲| 小日子操bb在线看| 亚洲综合网电影91| 久偷拍| 丝袜综合网| 国产亚洲色婷婷久久99精品91葵花宝典| 91视频国品一二三区| 龙兴卡官方查询| 亚洲麻豆av一区二区| 人人插人人搞人人操| 97超碰色屌| 加勒比海色香蕉婷婷| 夜间福利片1000无码| 亚洲第一页欧美| 91亚洲欧洲| 小情侣高清国产在线视频| 伊人久久大香蕉线AV五月天| 日产精品久久久一区二区| 国产高清免费不卡av| 国产精品一区人妻精品阁在线| 亚洲脚交| 国产精品国产自产高清AV| 久久精品视频久久久| 大香蕉日韩| 日韩精品永久在线观看| 欧洲精品网| 青娱乐福利99| 精品久久久av| 久久在肏| 99热婷婷| 久久久青青草| 国产树林里野战在线看| 欧亚日韩综合精品国产| 黄片qw| 国产AV天美| 久久夜夜| 中文字幕视频在线观看一区二区| 国产精品第一页国产大屁股视频免费区| 蜜乳性色无码专日粉嫩骚逼AV| 亚州春色| 亚洲图片日本AⅤ欧美在线| 午夜成人福利影视| 久草在线| 欧洲免费一区二| 人妻另类 专区 欧美 制服| 亚洲麻豆精品二区三区| 久久久久久久| 天天干少妇| 91中文字幕制服丝袜免费视频| 国产av强奸美女| 国产黄色在线播放观看| 日本1区2区不卡视频| 欧洲天天在线| 91视频综合网| 久久天天摸| 伊人麻豆传媒| 日韩在线视频1234| 少妇久久久久久久| 三级片大波波| 女性喷水高潮在线观看| 欧美九九99久久精品| 国产无吗在线播放| 欧美综合加勒比在线| 澳门黄片一香蕉视频| 欧美 亚洲 大香| 99这里只有精品国产| 丝袜综合色图| 淫荡少妇免费| 欧美女同在线| 国产免费一区二区在线A片视频| 日日摸日日碰夜夜爽视频| 久久大香蕉| dy888午夜老子影视达达兔| 婷婷三区| 五月天婷婷在线看| 天天射夜夜| 青娱乐久久艹| 久久综合97| 中文字幕高清20页视频 | 天躁夜夜躁2021| 亚洲一区深夜| 八戒午夜福利理论片| 激情四射婷婷六月天| 中文字幕av亚洲在线| 91色插| 97网址www| 在线国产福利网址导航| AV在线资源| 亚洲天堂 视频你懂的| 97资源久久| 97色爱| 婷婷AV一区二区三区| 成人三级片一区二区三区视频| 久视频在线观看| 国产精品一级毛片不卡视| 亚州,欧美在线| 亚洲不卡av在线| 老熟女乱伦一区| 97超碰国产亚洲精品| 欧美综合骚| 人人操人人操人人操人人操人人操人人人11.CM| 一二三卡欧美日韩人妻免费精品| 亚洲夜夜欢无码一区二区| 久久天堂| 美国三级日本三级久久99| www.夜夜| 韩国黄片aaaa| 亚洲成人贴图| 欧美色图人妻| 青青国产精品在线| 成人性爱av.com| 午夜操一操| 久欲AV| 91 丝袜在线| 欧美日韩啪啪电影| 亚洲第一页色网| 狠狠色一区二区中文字幕| 久热91| 亚洲成人性| 国产在线播放成人免费| 亚洲自拍欧美色综合| 久久国产精品一级二级三级| 日本东京热加勒比久久| 九九九九九九九九九国产精品| 女人的天堂大香蕉网| 嗯嗯嗯啊啊啊在线免费观看| 国产色精品午夜大片| 成人线上超碰| 四虎在线视频| 亚洲男人综合网| 91人妻超碰| 婷婷激情五月综合| 国产毛片久久久久久久| 国产强奸乱伦第1页| 欧美三级偷拍| 蜜乳Av成人片网站| 精品亚洲| 久久岛国| 天天爽入口| 亚洲精品一卡二卡三卡福利视频网站 | 猛交交| 无码在线亚洲| 九九干| 翔田千里Av在线| 青青草好吊色| 中韩中文字幕在线观看| 国产欧洲精品亚洲午夜拍精品| 国产精品久久9| 95人妻爽爽人人做人人澡| 亚洲乱伦图片视频| www.色吧5.com| 水多多映视AV| 四虎影视精品| 91高清欧美| 热热色青青草| 日韩色女精品| 亚洲熟久久| 久久久久密臀视频| 嗯……啊…嗯嗯…啊…好舒服| 亚洲色鬼| 日韩97超碰中文字幕| 婷婷久久五月| 久久久久久久久久8888| 无码聚合| aaaa黄片| 中文自拍欧美影视| 性在久久久久久| 超碰成人公开| 精品一区二区成人| 午夜激情成人在线观看| 欧美日韩另类在线播放| 免费?级毛片无码?∨蜜芽试看| 欧美97| 大二网站亚洲| 可以免费看黄片的视频| 免费A片三p视频| 操b在线观看| 9丨久久九九九| 欧美 亚洲 在线| 欧美超碰在线| 日韩一级二级三级免费看完整版| 男人天堂欧美| 国产 日韩,欧美 自拍| 综合另类| 自拍偷拍 日韩欧美| 最新av网站在线观看| 欧美精品23| 国产白嫩漂亮KTV在线| 色婷婷九月天天综合| 太久视频| 免费黄色视频网址| 久久亚洲不卡| 日本久久久久久久久| 夜夜狼人妻| www.91欧美| 欧美熟妇亚洲版| 欧美激情精品久久久| 麻豆天天躁天天揉揉AV| 色老大| 久久AV无码AV| 免费一级性爱久久| 欧美性爱日韩性爱| 国产精品久久久三级无码| 精品超碰中文在线| 爱射综合| 色欲人妻一区二区在线| 亚欧洲一区二区视频| nuu12国产麻豆精品| juliaann欧美丝袜办公室| 中文字幕在线免费观看2| 被窝影院午夜看片无码| 日本精品网站在线中文| 一级特级aaaa毛片免费观看 | 亚洲第一免费视频| 精品国产人成在线| 婷婷伊人綜合中文字幕小说| 人妻夜夜爽天天爽麻豆三区网站| 夜夜高潮夜夜爽高清视频一| 日日噜噜夜夜久久亚洲一区二区 | 久草资源在线视频官方总站日韩丝袜美腿 | 日韩熟女无码| 色欲无码人妻日韩欧美精品| 黄片在线免费在线观看| 91青视频| 五月开心久久AV官网| 青草地一本线一区二区三区| 丁香婷婷五月| av网页一区二区三区| 国产毛片精品一区二区色欲黄A片| 国产 v乱码一区二| 99re黄| 久久久精品电影| 欧美性爱伊人| 欧苏综合色综合| 福利天堂| 亚洲有码视频二区| 日韩无码三级影院| 婷婷五月天av| 欧美999999| 啪啪啪男女亚洲中文字幕99| 国产精品又黄又猛又粗| 蜜乳AV色欲AVAV无码| 国产少妇与亚洲av| 91少妇通奸网站| 亚洲视频中文一区| 色综合av男人天堂| 青青青国产| 国产97在线播放| 中文字幕日韩电影人妻 | 免費黃色視頻觀看一| 色爱欲亚洲| 亚春色色| 久久成人午夜精品影院| 青青国产精品在线| 国产和美国毛片| 97无码视频在线播放| 久久婷婷视频| 亚州综合色图| 亚洲伊人成综合成人网| 韩国黄色片精品久久久 | 婷婷丁香激情| 91精品久久综合熟女| 蜜臀人妻少妇久久在线观看| 日韩99999| 一区二区三区免费岛国片| 亚洲人精| 久久久555| 色噜噜人妻丝袜a∨先锋影| 日韩欧亚太美不卡| 性91| 久久婷色| 久久久9 9 9精品| 国产精品高潮呻吟av久久4虎| 久久九九99| 91精品国| 国产成人欧美一区二区三区的国产| 久久久工口| 精品国产乱码久久久久久蜜臀| 久久性爱精品一区| 日本免费一区二| 春色综合网| 9久热| 青青草好吊| 草草网站影院白丝内射| 精品一区二区三区四区女| 天天噜| 大香蕉伊人色偷偷在线| 在线天堂资源亚洲| 91人妻Pr| 亚洲啪啪性视频| 大香蕉综合在线| 在线播放免费av福利片| 日本三级日本三级99| KK色在线影院| 色色色色电影网| 色网亚洲人| 久久‘黄片视频|