免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

M1芯片Mac C++調(diào)試環(huán)境搭建:VS Code+LLDB從入門到排坑

M1芯片Mac C++調(diào)試環(huán)境搭建:VS Code+LLDB從入門到排坑 我一直覺得在M1芯片的Mac上配好一套順手的C調(diào)試環(huán)境比在普通機(jī)器上多踩的那幾個(gè)坑恰恰是理解整個(gè)編譯調(diào)試鏈路最好的機(jī)會(huì)。網(wǎng)上教程很多但大多是Intel Mac時(shí)期的存量經(jīng)驗(yàn)照搬到Apple Silicon上經(jīng)常會(huì)遇見莫名其妙的問題明明編譯過(guò)了斷點(diǎn)卻不命中明明裝好了調(diào)試器啟動(dòng)時(shí)卻提示架構(gòu)不匹配。這篇文章把我自己從零配通、日常開發(fā)的完整過(guò)程拆開來(lái)講包括每一步背后的原理和取舍希望幫你少走彎路。我默認(rèn)你已經(jīng)裝好了VS Code和Homebrew至少對(duì)終端操作不陌生。如果你連Homebrew都沒裝可以先花十分鐘裝一下后面步驟會(huì)順暢很多。1. 為什么M1芯片會(huì)讓老教程集體翻車先搞清楚你面對(duì)的工具鏈很多人拿到M1芯片的MacBook第一件事就是搜索vscode配置C然后照著2019年甚至更早的文章一步步操作最后卡在各種古怪的報(bào)錯(cuò)里。這不完全是操作問題而是硬件架構(gòu)變了底層邏輯也跟著變了。1.1 從x86_64到arm64這不是換了個(gè)CPU那么簡(jiǎn)單M1芯片是Apple Silicon指令集基于ARM架構(gòu)。過(guò)去幾年幾乎所有Mac端的C教程默認(rèn)你用的是Intel x86_64架構(gòu)。這意味著網(wǎng)上能搜到的預(yù)編譯二進(jìn)制、SDK路徑、甚至是VS Code插件里一些原生模塊很多都只適配了x86_64。當(dāng)你在這臺(tái)機(jī)器上執(zhí)行一個(gè)沒有針對(duì)arm64優(yōu)化過(guò)的程序時(shí)系統(tǒng)會(huì)通過(guò)Rosetta 2進(jìn)行二進(jìn)制翻譯。這是一個(gè)透明但并非無(wú)代價(jià)的過(guò)程首次運(yùn)行會(huì)有額外的翻譯開銷某些依賴了底層硬件的調(diào)試功能也可能表現(xiàn)異常。更麻煩的是如果你同時(shí)裝了x86_64和arm64兩套工具鏈CMake或者編譯腳本一旦探測(cè)錯(cuò)了架構(gòu)整條構(gòu)建鏈就會(huì)亂套。我在第一次配置時(shí)直接用g命令編譯報(bào)錯(cuò)信息指向一個(gè)完全沒有印象的路徑。后來(lái)發(fā)現(xiàn)很多教程里讓裝的編譯器本身就是通過(guò)Rosetta裝在Intel目錄下的。1.2 編譯器、調(diào)試器和VS Code插件三層都要匹配一個(gè)可用的調(diào)試環(huán)境至少由三層組成編譯器負(fù)責(zé)把代碼變成機(jī)器碼調(diào)試器負(fù)責(zé)附加上去并讀取運(yùn)行信息VS Code插件負(fù)責(zé)把這兩者串起來(lái)。編譯器層Apple Clang、Homebrew Clang、或者你自己編譯的GCC各自的安裝路徑和默認(rèn)架構(gòu)可能完全不同。Apple Clang隨系統(tǒng)自帶路徑穩(wěn)定用來(lái)入門最省心。調(diào)試器層在macOS上LLDB是首要調(diào)試器。很多網(wǎng)上教程會(huì)讓你裝GDB但我強(qiáng)烈不建議在M1上折騰GDB兼容性和權(quán)限問題會(huì)讓你欲哭無(wú)淚。系統(tǒng)自帶的LLDB版本和CodeLLDB插件配合得很好。插件層C/C插件就是微軟官方的那個(gè)C/C extension負(fù)責(zé)解析IntelliSense而調(diào)試部分可以交給CodeLLDB插件。這兩個(gè)插件在Apple Silicon上都有原生arm64版本效率比轉(zhuǎn)譯版本高不少。理解了這個(gè)三層結(jié)構(gòu)你再看配置時(shí)看到的launch.json、tasks.json就會(huì)明白每個(gè)字段到底在跟哪一層對(duì)話排查問題也會(huì)更有方向。搞清楚了這一點(diǎn)我們直接進(jìn)入實(shí)操。我推薦一步步來(lái)而不是直接拷貝別人的完整配置因?yàn)槊恳徊蕉贾档媚阌H眼看到輸出結(jié)果。2. 編譯器選型與安裝用Apple Clang還是Homebrew Clang在M1 Mac上你至少有兩個(gè)主流選擇系統(tǒng)自帶的Apple Clang和通過(guò)Homebrew安裝的LLVM Clang。我不太建議在這個(gè)階段自己編譯GCC時(shí)間成本高收益卻不明顯。2.1 Apple Clang零成本、路徑穩(wěn)定、夠用Apple Clang隨Xcode Command Line Tools一起安裝是絕大多數(shù)情況下的默認(rèn)選項(xiàng)。打開終端輸入xcode-select --install如果系統(tǒng)提示已安裝就可以直接用clang --version確認(rèn)。Apple Clang自帶了對(duì)Apple Silicon的原生支持編譯出的可執(zhí)行文件默認(rèn)就是arm64架構(gòu)調(diào)試時(shí)能完全發(fā)揮芯片性能。它的好處是省心路徑穩(wěn)定、更新隨系統(tǒng)、對(duì)macOS SDK的支持最好。缺點(diǎn)在于版本更新節(jié)奏跟隨系統(tǒng)如果你想用最新的C標(biāo)準(zhǔn)特性或者要用到OpenMP這類并行庫(kù)Apple Clang會(huì)顯得貧瘠——它不自帶libomp需要額外折騰。2.2 Homebrew的LLVM Clang工具鏈者的選擇如果你要寫的是計(jì)算密集型項(xiàng)目或者重度依賴較新的C標(biāo)準(zhǔn)我建議你裝Homebrew的LLVMbrew install llvm裝完后它的可執(zhí)行文件在/opt/homebrew/opt/llvm/bin/clang。注意Homebrew在Apple Silicon上的根目錄是/opt/homebrew不是/usr/local。這個(gè)差異極其關(guān)鍵網(wǎng)上大量過(guò)時(shí)教程讓你在/usr/local里找路徑在M1上根本找不到。選Homebrew LLVM的另一個(gè)原因是它附帶了完整的LLVM工具鏈llvm-gdb、clang-tidy、lldb等一應(yīng)俱全配合CodeLLDB插件做靜態(tài)分析和調(diào)試體驗(yàn)都更順滑。代價(jià)是路徑需要自己配置環(huán)境變量得手動(dòng)維護(hù)。我個(gè)人的建議是如果你只是做課程作業(yè)、刷算法題、寫小工具直接用Apple Clang如果你準(zhǔn)備認(rèn)真搞工程或者涉及OpenMP、CUDA雖然M1沒有、新標(biāo)準(zhǔn)特性安裝Homebrew LLVM是值得的。下面的配置以Apple Clang為主因?yàn)閷?duì)大多數(shù)讀者來(lái)說(shuō)這是最簡(jiǎn)路徑但我會(huì)在文末補(bǔ)充CMake工具鏈切換方法方便你隨時(shí)換。2.3 確認(rèn)架構(gòu)防止慣性的Intel路徑思維裝完編譯器后驗(yàn)證一下默認(rèn)架構(gòu)是很有必要的file $(which clang)clang大概率是指向/usr/bin/clang的符號(hào)鏈接你可以直接編譯一個(gè)測(cè)試文件看產(chǎn)物架構(gòu)echo int main(){return 0;} test.cpp clang test.cpp -o test file test輸出里會(huì)明確寫著arm64。如果這里顯示了x86_64說(shuō)明你的編譯器本身是Intel版本運(yùn)行在Rosetta之下。雖然它也能工作但我建議換成原生arm64版本避免后續(xù)調(diào)試時(shí)出現(xiàn)莫名奇妙的符號(hào)解析問題。3. 最小可運(yùn)行配置從tasks.json到launch.json的完整鏈路網(wǎng)上多數(shù)教程會(huì)讓你自己分層配置先寫tasks.json定義編譯任務(wù)再寫launch.json定義調(diào)試啟動(dòng)方式。這一步確實(shí)繞不開但我希望幫你把邏輯捋順而不是機(jī)械地抄參數(shù)。3.1 VS Code插件安裝不要貪多打開VS Code擴(kuò)展面板搜索C/C安裝微軟官方cpptools插件。如果你要用LLDB調(diào)試macOS下的默認(rèn)選擇我強(qiáng)烈建議再裝一個(gè)CodeLLDB插件。這兩個(gè)插件在Apple Silicon上都有原生arm64版本使用體驗(yàn)遠(yuǎn)好于通過(guò)Rosetta轉(zhuǎn)譯的版本。裝完后在命令面板CommandShiftP里輸入C/C: Select IntelliSense Configuration選擇macOS (Apple Clang)或macOS (clang/arm64)。這一步能讓代碼補(bǔ)全和錯(cuò)誤檢查準(zhǔn)確識(shí)別你的編譯器。3.2 tasks.json先編譯出能跑的東西在項(xiàng)目根目錄建一個(gè).vscode文件夾在里面新建tasks.json。這個(gè)文件的作用是定義構(gòu)建任務(wù)——你按CommandShiftBVS Code就會(huì)執(zhí)行這里面的命令。對(duì)于單文件調(diào)試一個(gè)最簡(jiǎn)單的tasks.json長(zhǎng)這樣{ version: 2.0.0, tasks: [ { label: build single file, type: shell, command: clang, args: [ -g, ${file}, -o, ${fileDirname}/${fileBasenameNoExtension}.out ], group: { kind: build, isDefault: true }, problemMatcher: { owner: cpp, fileLocation: [relative, ${workspaceFolder}], pattern: { regexp: ^(.*):(\\d):(\\d):\\s(warning|error):\\s(.*)$, file: 1, line: 2, column: 3, severity: 4, message: 5 } } } ] }這里重點(diǎn)解釋幾個(gè)容易被忽略的字段-g生成調(diào)試符號(hào)。沒有這個(gè)參數(shù)VS Code即使attach上了進(jìn)程也看不到變量值斷點(diǎn)也會(huì)顯示為未驗(yàn)證地址。說(shuō)到斷點(diǎn)如果你想深入了解斷點(diǎn)命中的底層原理可以看看LLDB的日志輸出命令是log enable lldb breakpoint這會(huì)輸出斷點(diǎn)管理的一手信息對(duì)理解為什么斷點(diǎn)不生效很有幫助。${file}和${fileDirname}/${fileBasenameNoExtension}.outVS Code內(nèi)置變量分別代表當(dāng)前打開的文件路徑和同目錄下同名.out文件。這種寫法能讓你從任何目錄構(gòu)建當(dāng)前文件。problemMatcher這是把編譯器輸出解析成問題面板條目的正則。如果你不寫編譯報(bào)錯(cuò)時(shí)只能在終端里滾動(dòng)翻找很不方便。3.3 launch.json調(diào)試會(huì)話怎么啟動(dòng)、怎么附加接下來(lái)在.vscode文件夾里新建launch.json。這里才是調(diào)試的主控室{ version: 0.2.0, configurations: [ { type: lldb, request: launch, name: Debug C, program: ${fileDirname}/${fileBasenameNoExtension}.out, args: [], cwd: ${workspaceFolder}, preLaunchTask: build single file, terminal: console } ] }注意type字段是lldb這是CodeLLDB插件提供的調(diào)試器類型。如果你用的是微軟C/C插件也可以寫type: cppdbg并且設(shè)置MIMode: lldb但實(shí)測(cè)中CodeLLDB對(duì)LLDB特性的支持更完整環(huán)境變量映射也更符合直覺。preLaunchTask字段讓調(diào)試啟動(dòng)前自動(dòng)執(zhí)行剛才的編譯任務(wù)這樣你每次按F5都是先編譯再調(diào)試不用手動(dòng)切到終端敲命令。3.4 驗(yàn)證鏈路從編譯到斷點(diǎn)命中配置好后打開任意一個(gè)包含main函數(shù)的.cpp文件按F5。如果一切正常你會(huì)看到底部終端彈出編譯輸出隨后程序運(yùn)行到入口點(diǎn)并暫停。這里我想單獨(dú)說(shuō)明terminal字段。在macOS下VS Code的默認(rèn)外置終端是Terminal.app但CodeLLDB插件支持把調(diào)試進(jìn)程放在VS Code內(nèi)置的集成終端里。terminal設(shè)為console時(shí)stdout會(huì)直接顯示在調(diào)試控制臺(tái)里配合console調(diào)試更順滑。如果你跑的是需要手動(dòng)輸入的程序需要把它改成terminal或者在args里預(yù)先指定輸入方式。有時(shí)候你把斷點(diǎn)打在變量賦值那一行按F5發(fā)現(xiàn)直接一路執(zhí)行到底斷點(diǎn)變成了灰色空心圓。這通常意味著調(diào)試符號(hào)沒有傳到LLDB或者編譯優(yōu)化把代碼內(nèi)聯(lián)了。處理方式很簡(jiǎn)單確認(rèn)編譯命令里帶了-g并且在沒有-O2以上的優(yōu)化標(biāo)志下重試。4. CMake工程場(chǎng)景別再依賴單文件編譯了當(dāng)你開始寫多個(gè)源文件、依賴第三方庫(kù)的時(shí)候單文件編譯的tasks.json就不太夠用了。哪怕VS Code能通過(guò)args把多個(gè)文件塞給編譯器那也只是拼湊而不是工程化管理。這一節(jié)給你一套基于CMake的做法在M1 Mac上非常穩(wěn)定。4.1 CMake與生成器的選擇Unix Makefiles還是NinjaHomebrew裝CMake很簡(jiǎn)單brew install cmake裝完后在項(xiàng)目根目錄建一個(gè)CMakeLists.txt。對(duì)于Apple Silicon生成器我推薦用Ninja。Ninja比起Unix Makefiles的并行能力更強(qiáng)增量構(gòu)建更快而且在VS Code里集成得也很自然brew install ninja4.2 最小可用CMakeLists.txt參考下面這個(gè)文件可以直接扔到你的項(xiàng)目里當(dāng)作起點(diǎn)cmake_minimum_required(VERSION 3.20) project(DemoProject LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_executable(main main.cpp)如果你要用OpenMP不要忘了Apple Clang不自帶libomp需要另外處理。簡(jiǎn)單說(shuō)通過(guò)Homebrew裝libomp然后在CMake里手動(dòng)找到它。Apple Clang的-fopenmp并不像Linux GCC那樣自帶實(shí)現(xiàn)這一塊容易踩坑我在后文會(huì)專門提。4.3 VS Code里跑CMake用官方的CMake Tools插件微軟有個(gè)官方CMake Tools插件可以和tasks.json體系無(wú)縫銜接。裝好后CommandShiftP輸入CMake: Select a Kit選擇Apple Clang或者Homebrew Clang——這一步其實(shí)是告訴CMake用哪個(gè)編譯器。如果Kit列表里一片空白檢查一下插件設(shè)置里的cmake.scanForKits是否開啟或者手動(dòng)指定{ cmake.kits: [ { name: Apple Clang arm64, compilers: { C: /usr/bin/clang, CXX: /usr/bin/clang } } ] }之后按F7觸發(fā)構(gòu)建F5調(diào)試時(shí)調(diào)試會(huì)話會(huì)直接命中CMake構(gòu)建出來(lái)的可執(zhí)行文件。對(duì)比單文件tasks.json這種方式生成的可執(zhí)行文件路徑由CMake管理你不需要自己去匹配路徑變量。5. M1 Mac上調(diào)試C環(huán)境常見的坑與排查鏈路配置過(guò)程我走了不少?gòu)澛愤@里把踩過(guò)的坑整理成排查鏈路每個(gè)條目都對(duì)應(yīng)具體的報(bào)錯(cuò)現(xiàn)象和解決思路幫你快速定位。5.1 構(gòu)建成功但斷點(diǎn)不生效先從可達(dá)性查起斷點(diǎn)不生效是個(gè)高頻問題但原因可能很多。我的排查順序是確認(rèn)可執(zhí)行文件里包含調(diào)試符號(hào)終端執(zhí)行nm -g yourBinary如果輸出的符號(hào)列表里有_main這類函數(shù)符號(hào)說(shuō)明調(diào)試符號(hào)在如果輸出顯示stripped那就是編譯階段沒加-g。確認(rèn)VS Code當(dāng)前調(diào)試會(huì)話的program路徑和實(shí)際的二進(jìn)制路徑是否一致。如果打過(guò)不可執(zhí)行權(quán)限LLDB會(huì)靜默失敗。檢查是否有多個(gè)同名.cpp文件VS Code的斷點(diǎn)是基于源文件路徑的解決方案文件夾如果和實(shí)際路徑不一致斷點(diǎn)就會(huì)顯示為灰色。這時(shí)候需要檢查launch.json里的sourceFileMap字段把路徑映射到真實(shí)路徑。如果你遇到斷點(diǎn)完全不可用的場(chǎng)景直接在終端里用LLDB手動(dòng)啟動(dòng)程序執(zhí)行breakpoint set --file main.cpp --line 5然后run如果LLDB自己能命中說(shuō)明lldb-server或插件側(cè)的映射出了問題連LLDB都命中不了那問題大概率出在編譯命令上。這個(gè)問題我重點(diǎn)講是因?yàn)榫W(wǎng)上很多帖子讓你重裝插件或者關(guān)掉各種優(yōu)化其實(shí)都不如直接用LLDB驗(yàn)證來(lái)得快。實(shí)踐里一個(gè)干凈的-g編譯加上明確的路徑映射能解決九成斷點(diǎn)問題。5.2 Unable to find LLDB或版本不匹配CodeLLDB插件和系統(tǒng)LLDB的版本兼容性CodeLLDB插件自帶了一個(gè)LLDB但它依賴系統(tǒng)上某些動(dòng)態(tài)庫(kù)。每次macOS系統(tǒng)升級(jí)后插件偶爾會(huì)報(bào)找不到liblldb的錯(cuò)誤。這時(shí)候最簡(jiǎn)單的做法是brew install llbd不沒有這個(gè)包名。正確做法是讓CodeLLDB使用系統(tǒng)自帶的LLDB路徑在launch.json里增加lldb: { executable: /usr/bin/lldb }如果還是不行進(jìn)VS Code插件市場(chǎng)把CodeLLDB升級(jí)到最新版并且檢查lldb.library設(shè)置是否指到了正確的liblldb.dylib路徑。從實(shí)戰(zhàn)經(jīng)驗(yàn)看VS Code和插件兩邊盡量保持最新能避免90%的兼容性問題。5.3 Rosetta轉(zhuǎn)譯串臺(tái)IntelliSense和調(diào)試器架構(gòu)不一致這是Apple Silicon獨(dú)有的坑你可能在Homebrew默認(rèn)路徑/opt/homebrew里裝了arm64的編譯器但某個(gè)依賴庫(kù)或者工具鏈配置腳本里硬編碼了/usr/local的Intel路徑導(dǎo)致CMake探測(cè)到了矛盾的架構(gòu)。排查方式很直接在CMakeLists.txt里臨時(shí)打印CMAKE_SYSTEM_PROCESSOR和CMAKE_CXX_COMPILER確認(rèn)編譯器是arm64并且系統(tǒng)處理器顯示arm64。如果顯示x86_64那就是工具鏈配置腳本里強(qiáng)制指定了Intel需要追溯是哪個(gè)第三方庫(kù)帶偏的。日常使用中你會(huì)遇到一種情況需要同時(shí)保留Intel和arm64兩套環(huán)境比如某些二進(jìn)制依賴只提供x86_64版本。這時(shí)候建議在VS Code的settings.json里給每個(gè)工作區(qū)分開指定路徑不要全局配置一個(gè)編譯器路徑。5.4 運(yùn)行OpenMP程序閃退Apple Clang的libomp缺失很多人在M1 Mac上寫上OpenMP代碼編譯能通過(guò)但一運(yùn)行就崩潰。原因在于Apple Clang本身不帶OpenMP運(yùn)行時(shí)。我建議通過(guò)Homebrew安裝brew install libomp然后在編譯命令里顯式指定clang -Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include -L/opt/homebrew/opt/libomp/lib -lomp main.cpp如果你用CMake可以這樣引入find_package(OpenMP REQUIRED) if(OpenMP_CXX_FLAGS) set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}) endif() if(OpenMP_CXX_LIB_NAMES) set(CMAKE_LINKER_FLAGS ${CMAKE_LINKER_FLAGS} ${OpenMP_CXX_LIB_NAMES}) endif()這一塊很容易被IDEA類工具自動(dòng)處理但你要是手寫編譯命令必須留意-lomp是否被正確鏈接。6. 讓調(diào)試體驗(yàn)更順手從環(huán)境變量到高級(jí)調(diào)試技巧當(dāng)基礎(chǔ)鏈路通了之后剩下的就是優(yōu)化體驗(yàn)。這里分享幾個(gè)我日常高頻使用的小技巧它們不會(huì)改變功能但能顯著提升效率。6.1 配置環(huán)境變量而不污染全局很多項(xiàng)目需要一個(gè)特定的環(huán)境變量才能跑起來(lái)但你又不想在~/.zshrc里寫死。VS Code里可以通過(guò)launch.json的env字段來(lái)注入env: { LD_LIBRARY_PATH: /opt/homebrew/lib, MY_CUSTOM_FLAG: 1 }注意macOS里沒有LD_LIBRARY_PATH運(yùn)行時(shí)動(dòng)態(tài)庫(kù)搜索路徑是DYLD_LIBRARY_PATH但這個(gè)變量在調(diào)試會(huì)話里經(jīng)常受到System Integrity ProtectionSIP的限制。通常更可靠的方式是把動(dòng)態(tài)庫(kù)路徑硬編碼到二進(jìn)制里用install_name_tool或者編譯時(shí)指定-rpath。比如clang -g main.cpp -L/opt/homebrew/opt/libomp/lib -lomp -Wl,-rpath,/opt/homebrew/opt/libomp/lib -o main這樣做的好處是你雙擊運(yùn)行或者調(diào)試時(shí)都不用擔(dān)心環(huán)境變量缺失。6.2 條件斷點(diǎn)、日志斷點(diǎn)與數(shù)據(jù)斷點(diǎn)除了基礎(chǔ)的斷點(diǎn)LLDB和CodeLLDB還支持幾個(gè)高級(jí)斷點(diǎn)類型條件斷點(diǎn)在斷點(diǎn)列表里右鍵設(shè)置條件表達(dá)式比如x 5。只有條件滿足時(shí)程序才會(huì)暫停。這對(duì)循環(huán)里定位特定迭代很有用。日志斷點(diǎn)打印日志但不中斷執(zhí)行。適合觀察變量變化比如在循環(huán)里x每次變化就打一條日志避免了手動(dòng)printf然后刪除的繁瑣。數(shù)據(jù)斷點(diǎn)監(jiān)控一塊內(nèi)存地址當(dāng)它被寫入或者修改時(shí)觸發(fā)暫停。這在排查野指針和內(nèi)存越界時(shí)非常有效。CodeLLDB里可以先在調(diào)試時(shí)觀察某個(gè)表達(dá)式然后右鍵Add Watchpoint。這些技巧最直接的收益是當(dāng)你面對(duì)一個(gè)狀態(tài)異常的程序時(shí)不需要在無(wú)數(shù)個(gè)點(diǎn)和日志里來(lái)回切直接讓工具替你篩掉無(wú)關(guān)信息。6.3 結(jié)合單元測(cè)試跑快速驗(yàn)證工程規(guī)模一大頻繁用F5啟動(dòng)整個(gè)程序來(lái)調(diào)試新功能并不現(xiàn)實(shí)。更合理的做法是讓項(xiàng)目里的單元測(cè)試作為調(diào)試入口。如果你的項(xiàng)目用了Google Test或Catch2你可以在tasks.json里加一個(gè)單獨(dú)的任務(wù)只構(gòu)建測(cè)試目標(biāo)然后在launch.json里新配置一個(gè)Debug Unit Tests會(huì)話program指向測(cè)試二進(jìn)制。配好之后遇到新代碼邏輯問題直接F5跑相關(guān)測(cè)試用例比每次都啟動(dòng)完整程序要快一個(gè)數(shù)量級(jí)。7. 實(shí)例演示一個(gè)帶命令行參數(shù)的簡(jiǎn)單項(xiàng)目從編碼到調(diào)試全流程講了這么多配置我直接用一個(gè)小例子把完整流程串起來(lái)方便你邊看邊操作。假設(shè)我現(xiàn)在想寫一個(gè)計(jì)算斐波那契數(shù)列的程序并且希望通過(guò)命令行傳入項(xiàng)數(shù)。項(xiàng)目結(jié)構(gòu)fibonacci/ ├── .vscode/ │ ├── launch.json │ └── tasks.json ├── CMakeLists.txt └── main.cppmain.cpp#include iostream #include cstdlib int fib(int n) { if (n 1) return n; return fib(n-1) fib(n-2); } int main(int argc, char** argv) { if (argc 2) { std::cout Usage: fib number std::endl; return 1; } int n std::atoi(argv[1]); std::cout fib( n ) fib(n) std::endl; return 0; }如果你走單文件編譯路線tasks.json保持之前的寫法即可。如果你用CMakeCMakeLists.txt用上面的模板就可以。調(diào)試時(shí)在launch.json里增加{ type: lldb, request: launch, name: Debug fib, program: ${workspaceFolder}/build/main, args: [10], cwd: ${workspaceFolder}, preLaunchTask: build cmake }這里要注意program指向的是CMake構(gòu)建目錄build里的產(chǎn)物。按F5之后窗口左下角調(diào)試控制臺(tái)會(huì)出現(xiàn)程序輸出和退出碼最后你在fib函數(shù)內(nèi)部打上斷點(diǎn)就能看到遞歸調(diào)用的每一步參數(shù)和局部變量。如果你直接在這個(gè)例子里遇到斷點(diǎn)在遞歸深處不命中的困惑回到第5章的排查鏈路大概率是優(yōu)化等級(jí)開高了。8. 收尾之前給新接觸M1 Mac調(diào)試C環(huán)境的你幾條心法配置C調(diào)試環(huán)境這件事本質(zhì)上是在協(xié)調(diào)編譯器、調(diào)試器、插件和工程結(jié)構(gòu)之間的關(guān)系。M1芯片的出現(xiàn)把這個(gè)協(xié)調(diào)過(guò)程要求的前提從以為只有一個(gè)CPU架構(gòu)升級(jí)到必須理解架構(gòu)差異。所以我不建議你指望一份萬(wàn)能配置一勞永逸而是建議你理解幾個(gè)關(guān)鍵點(diǎn)第一任何教程都要帶著架構(gòu)意識(shí)去看。文中如果還是/usr/local開頭的路徑大概率是為Intel Mac寫的。在M1上優(yōu)先看/opt/homebrew和原生arm64相關(guān)的描述。Homebrew的安裝路徑直接反映了架構(gòu)這比報(bào)錯(cuò)信息還可靠。第二能用Apple Clang和CodeLLDB的組合就先不要折騰GCC和GDB。LLDB的操作邏輯雖然和GDB有細(xì)微差別但它和macOS系統(tǒng)的契合度遠(yuǎn)超GDB。我在M1上調(diào)試C兩年多的經(jīng)驗(yàn)里L(fēng)LDB幾乎沒有遇到過(guò)讓人束手無(wú)措的問題GDB的兼容性就比較吃力。第三遇到問題先驗(yàn)證工具鏈本身再懷疑配置參數(shù)。你可以在終端里手動(dòng)編譯一個(gè)最簡(jiǎn)單的hello world用lldb手動(dòng)跑一遍確認(rèn)這個(gè)鏈路是通的之后所有的報(bào)錯(cuò)就都指向配置文件或者工程代碼而不是底層環(huán)境壞了。這種二分法排查方式是效率最高的因?yàn)榕渲脜?shù)再怎么錯(cuò)你不會(huì)懷疑到底層工具。我最初在M1 Mac上配調(diào)試環(huán)境的時(shí)候花了整整一個(gè)晚上才搞清楚為什么某個(gè)網(wǎng)上教程里g命令能用、但VS Code的tasks調(diào)用同一命令卻失敗——其實(shí)就是VS Code的集成終端沒有繼承我~/.zshrc里的PATH。后來(lái)我在settings.json里顯式指定了編譯器絕對(duì)路徑這個(gè)問題就再也沒出現(xiàn)過(guò)。配置上的小問題往往不是不對(duì)而是不在同一個(gè)環(huán)境上下文里。你只要時(shí)刻記著終端環(huán)境、VS Code任務(wù)環(huán)境、調(diào)試會(huì)話環(huán)境是三個(gè)不同的世界排查思路就會(huì)清晰很多。希望這篇偏實(shí)戰(zhàn)向的分享能在你的M1 Mac上少繞幾個(gè)彎。如果在配置過(guò)程中遇到這里沒覆蓋到的報(bào)錯(cuò)歡迎留言我盡量根據(jù)我踩過(guò)的坑給你出出主意。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
www.色婷婷| 色婷婷丁香五月| 中文字幕网伦射乱中文| www.五月天婷婷| ww亚洲ww在线观看| 少妇婷婷五月天| AV在线观看网站| 精品国产va久久久久久久| 色综合视频在线| 亚洲熟妇无码乱子AV电影| 五月天久久久| 九月丁香八月婷婷久久综合久97| 五月天久久网站| 97久久人人操| 人人播| 色婷婷操逼| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 婷婷五月天在线看| 久久 中文 日本| 99热精品在线观看| 久久综合丁香激情五月| 亚洲综合网激情五月天| 久久久久久久丁香五月天婷婷| 99国产精品久久久久久久久久久| 香蕉久久国产AV一区二区| 狠色狠色狠色狠色狠色网| 五月丁香欧美综合免费视频| 大香蕉久久| 亚洲成AV人片在线观看| 激情五月婷婷综合网| 91精品国产91久久久久青草| 月婷婷婷婷五月| 六月丁香婷婷开心综合基地| ji'qing'luan'ren'lun| 天天插天天草人人玩| 伊人婷婷五月天av| 婷婷99狠狠躁天天躁中文| 五月激香蕉网| 日韩有码一区| 色天堂操| 手机在线日韩视频中文字幕| 成人免费视频一区| 成人Av在线大片| 色综合色综合色综合| 婷婷六月激情| 天天性视频| 激情婷婷色色| www,久久久| 婷婷丁香五月在线播放| 人人爽天天爽| 五月综合激情| 久久激情网| 影音先锋777xfplay色资源网站| 亚洲av网站| 中文久久婷婷| 五月伊人91| 91艹人| 大香蕉九九操| 五月丁香色婷婷色| 久久综合丁香五月| 久久婷婷色| 99热在线观看| 日狠狠| 亚洲99综合| 超碰九九热| 久久婷婷亚洲| 能看的av| WWW、99热| 无码激情AAAAA片-区区| 91丨九色丨首页| 婷婷五月综合丁香久久| 久久激情五月婷婷| 丁香5月综合啪啪| 六月丁香综合| 国产中文字幕在线视频免费观看 | 狠狠色情婷婷| 婷婷六月激情综合| 九九这里有精品| 啪啪激情综合| 99 色色吧| 婷婷五月天天| 操逼巨乳91| 欧美久久婷婷| 婷婷色综合中心站| 五月激情丁香五月| 黄色激情五月天| 5月丁香啪啪啪| 免费婷婷| 日韩av在线播放综合网| 日韩不卡DvD| 九九热这里都是精品6| 天天操天天操综合| 99在线69| 久久婷婷五月综合网| 热婷婷久| 69午夜成人影片| 日日夜夜狠狠干| www.婷婷五月天| 97干在线| 五月婷婷六月丁香首页| 色色网站免费观看| 人人干人人看| 色吊丝永久访问网址| 激情综合色婷婷啪啪五月天| 91av视频在线观看最新网址| 五月婷婷内射网| 婷婷五月天性| 中文AV网| 六月婷婷色色色| 69五月天视频| www.五月丁香| 99操中文视频| 99亚洲精品| www超碰| 久热精品9999| AV国产有码| 91综合国免费久入| 久激情| 五月色丁香综合| 色色射| 婷婷色综合| 人妻中文av| 六月丁香激情| caop视频| 狠狠色五月激情| 五月天婷婷乱论小说| 亚洲精品99| 五月丁香 久久久| 成人永久免费视频在线观看| 色五月噜噜| a色色片| 超碰人人操| 精品无码久久久久久久久 | 色婷婷五月天成人网| 天天色2017| 99视频精品全部免费看| 欧美久热| 婷婷色色狠狠| 婷婷五月影院| 99色热视频| 97五月天| 狠狠五月天婷婷| 91成人视频| 九色激情| 丁香五月婷婷在线| 嫩草视频在线观看| 99精品久久| 九九热10| 婷婷色导航| 色色爽爽天天| 天天干天天干天天干天天干天天干| 九九亚洲无码| 成人av免费观看| 亚洲无码www| 十月丁香九月婷婷综合| 丁香五月综合首页| 超碰在线国产| 妻久久久久| 深爱五月天| 亚洲激情亚洲激情| 亚洲精品无AMM毛片| 色五月婷婷激情综合网| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 婷婷五月天日日日干干干| 激情五月婷婷丁香| 思思色综合网站| 荡乳尤物3HP1V5| 99re久热只有精品6在线直播| 日日操夜夜爽| 99热精品9| 天天躁日日躁狠狠躁日日躁2022年5月9日 | www.99婷婷| 午夜成人网站在线观看| 99精品网| 99性视频| 五月色在线| 性爱视频99| 人人色人人摸人人看| 99这里| 五月婷婷视频啪啪美女| 久久网址99热| 97人人干人人操| 欧美黑人巨大猛烈cuckold| 中文字幕丰满孑伦无码专区| 婷婷激情六月| 99热欧| 婷婷丁香五月综合网| 五月天色婷婷激情| 午夜理论片最新午夜理论剧| 激情文学 综合 九月| www.久热| 天天色天天爱天天舔| WWW.亚洲无码| 天天干天天干天天干天天干天| 丁香色六月婷婷| 人五月天婷婷喷水| 亚洲天堂爱爱| 99精品爱| 婷婷色五月激情| 日本一級黃色一級片| 色综合激情| 丁香五月色色婷| 色五婷婷开心缴| 久久99婷婷| www.91操| 9l视频自拍九色9l黑人| 色婷婷成人网| 五月丁香五月婷婷在线观看| 亚洲激情 久久| 99精日本久久| 九九热免费视频| 丁香六月激情综合啪啪| 婷婷日在线观看| 亚洲狠9| 日韩在线视频中文字幕| 久播影院免费观看电视剧大全最新网| 激情深爱婷婷网| 丁香婷婷激情四射五月| 丝袜大香蕉| 久色婷婷200| 影音先锋色色色资源色资源色| 久婷狼色诱惑在线| 专区无日本视频高清8| 开心婷婷五月| 色99网| 蜘蛛女免费观看完整版高清电影 | 99啊精典免费视频| 精品九九久久| 狠狠色中色| 激情五月婷婷| 日韩视频99| 色色色免费视频| 激情婷婷内射| xxxx五月| 亚洲五月婷婷在线| 青青操avbb| 五月丁香欧美综合| 日韩在线视频中文字幕| 激情五月天啪啪| 色在线免费观看| 九九热精品在线| 影音先锋四区| 99re免费精品视频| 亚洲AV免费在线| 激情小说在线视频| 六月婷婷色色色| 色J香五月天| 丁香五月天婷婷久久综合| 另类视频综合| 玖玖国产视频一区| 精品色情一区二区三区四区| 99热在这里只有免费精品| 一起草Av| site:xmssd.com| 成人国产综合| 久久婷婷六月| 亚洲AAA| 99成人精品六| 五月激情黄色小说| 五月激激激情综合网| 性天天中文网| 色五月婷婷色五月| 五月天婷婷激情综合| 婷婷五月天人妻| 蜜臀A∨在线水帘洞| 99re视频在线播放| 婷婷色五月噜噜| 激情五月综合网| 激情九月婷婷| 六月香五月婷| 亚洲视频图片婷婷五月| 99玖玖在线视频| 色老久久| 色婷婷基地| 99性爱| 成人国产欧美大片一区| 波多婷婷久久| 伊人久久大香蕉网| 国产日批视频| 婷婷色五月在线视频| 亚洲无码色色| www.五月天| 国产成人精品123区免费视频 | 亚洲狠狠色丁香婷婷综合久久| 欧美性色A片免费免费观看的| 国产精品久久久久久久久久免费| 玖玖伊人网| 影音先锋天天日| 成人av播放| 丁香六月婷婷综合色| 夜夜操夜夜爽| 五月婷婷开心网| 日本不卡中文字幕| 日本不卡一区二区三区| 偷拍九九五月丁香婷婷| 亚洲色欲欧美一区二区三区| 伊人激情影院| 久久精品国产一区二区三区四区| 亚洲黄色av网站| XX久久| 久热精品视频在线观| 少妇激情五月婷婷| 丁香五月在线播放| 亚洲中文字幕在线观看| 91碰在线| 九九爱激情| 性一交一乱一交A片久久四色| 无码日本精品XXXXXXXXX| 韩国不卡AC视频| 亚洲婷婷久久综合| 日日射天天射| 五月婷婷啪啪| 久久99综合网| 深爱婷婷丁香五月激情| 亚洲妇女熟BBW| 色色色色色综合| 79精品在线视频| 激情网婷婷五月天| 久9草在线观看视频| 色人久久| 九色无码| 奇米影视在线视频| 欧美毛片www| 91色综合网| 91碰碰视频在线观看| 天天射影| 超碰成人电影| 伊人9在线| 五月激情视频| 婷婷五月丁香超碰| 草操网| 五月开心久久| 亚洲精品久久久久久久久久吃药| 国产免费av在线| 五月婷婷久久内射| 五月综合激情| .操區COm| wwwss在线观看| 婷婷五月天首页激情| 婷婷综合五月天激情| AV在线免费网站| 色综合网页| 久久在这里有精品| 婷婷色综合| 在线成人网站| 狠狠五月天| 狠狠干综合网| 99久在线观看| 99热最新精品| 内射综合网| 大香蕉伊在| 国产精品视频久久99| 99性视频| 五月天婷五月天综合网在线观| 丁香五月停停av| 五月丁香无码| 天天操天天草天天草天天| 九九视频精品在线免费| 老师的粉嫩小又紧水又多A片视频| 色综合网上班开心婷婷久久| 九色色| 五月天天堂久久| 日本色啪| 亚洲色综久久五月| 欧美三级韩国三级日本三斤| 天天日夜夜拍| 伊人综合色干| 色综合色色| 大香蕉婷婷丁香天堂AV| 色色色免费视频| 五月丁香婷婷中文| 色婷婷亚洲婷婷| 激情深爱婷婷网| 1024人妻| SESE无码AV| 婷婷久久爱| 五月综合婷婷五月| 粉嫩av懂色av蜜臀av熟妇| 超碰国产在线观看| 99,色| 色综合性视频| 五月丁香六月色婷婷综合五月天| 五月婷婷色色色| 成人国产欧美大片一区| 亚洲欧州色情在线观看| 五月停停色| 色色色五月天激情资源| 色欲婷婷五月天| 久操b网| 国产成人精品一区二三区熟女在线| 99成人精品六| 五月间天堂综合| 亚洲AV综合在线观看| 性爱综合网| 国产成人精品亚洲线观看| 米奇影视资源777狠狠色婷婷五月天激情网 | 色婷婷丁香特级性爱视频| 婷婷五月久久| 久月婷婷| 综合网五月天123| 免费啪啪啪网站 | 九九RE视频在线精品| peg 2区三区四区的| 日日操夜夜擼| 青青草轻轻操| 久久99这里只有精品视频| 丁香五月AV综合激情| 少妇高潮呻吟A片免费看软件| 美女妹子后射视频网站在线观看| 亚洲黄色影视| 欧美,日韩成人在线| 人人摸人人澡人人| 天天拍夜夜爽| 久久久人妻人伦| 9视频在线成人网站| 99热日| 99re久热只有精品6在线直播| 热久久婷婷| 亚州色色色| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 婷婷久久五月| 日笨久久网| 99热免费在线| 天天在线XXX| 国语对白性爱视频播放| 日韩狠狠色| 五月丁香婷婷欧美色图视频五月丁香777电影| 五月丁香啪啪网| 色久婷婷网| 丁香久久综合| 色婷婷综合电影| 在线99热| 日本色色网| 97色色色色色| 五月婷婷婷自由综合| 婷婷激情六月综合| 欧美久久久中文字幕| 丁香六月婷婷| 深爱激情六月天| 色丁香五月天婷婷| 四色女婷婷| 中文字幕在线日亚州9| 91伦| 色情网综合| 九九热最新| 九九视频这里只有精品| 色人久久| 七七九色| 五月香蕉网| 婷婷五月天激情网| AV网站免费在线| 天天狠天天叉| 骚。com| 五月天开心激情综合网| 九九热在线视频| 99热99这里有免费的精品| eeuss人妻| 91婷色| 五月丁香激情啪啪网| 久久五月婷天天干| 狠狠干.com| 午夜69成人做爰视频| 第四色激情网| 激情五月天色色| 日韩在线一级| 国产精品久久..4399| 丁香 亚洲 久久| 国产三级秋霞| 中文在线成人| 我去色色网五雨天| 久99热| 丁香成人五月天| 五月天综合视频| www.婷婷.com| 99久热| 被强行糟蹋的女人A片| 五月丁香免费视频| 91久久久久久久久18| 久久久99免费视频| 五月丁香六月激情综合网| 99热大全在线观看| 色婷婷丁香五月天激情综合网| 激情五月婷婷伊人| 日日夜夜天天综合| 五月色婷婷中文字幕| 大香蕉婷婷丁香天堂AV| CHINESE熟女老女人HD视频| www.狠狠| 五六月婷婷久久| 91丁香色五月| 99riAv1国产在线观看| 婷婷四色五月| 亚洲精品小视频| 婷婷五月天成人网站| 久久综合丁香激情五月| 色婷婷A| 久久婷婷视频| 26UUU精品一区二区c〇m| 爱婷婷五月| 婷婷五月天播播| 大香蕉网站,大香蕉综合| 狠狠干夜夜干| 97午夜一区二区| 99热综合色图| 婷婷丁香六月激情综合| 久久久久这里只有精品| 天天插天天射| 9精品一区| 九九综合九九| 99热综合在线观看| 五月丁香婷婷综合视频| 五月天色综合| www.婷婷,com| 亚洲色小说在线综合| 99在线小视频| 国产精产国品一二三在观看 | 婷婷久久久久| 日本熟女一区二区| 欧美色色色色色| 婷婷五月丁香青青草在线| 日韩AV在线免费观看| 二人电影免费版在线观看| 日韩AV免费看| 色婷婷在线播放| 日日狠夜夜狠| 色五月亚洲| 丁香五月天亚洲综合| 中文字幕不卡+婷婷五月| 五月天色综合服务平台| 涩五月婷婷| 岛囯综合激情网| 9久热| 五月天成人在线播放丁香| 激情五月婷| 亚洲五月六月婷婷| 久久久思思热| 色色A| 午夜不卡久久精品无码免费 | 久久永久网址| 婷婷九月在线| 婷婷五月综合免费在线| 亚洲激情丁香五月基地| 日本三级韩三级99久久| 日本啪啪网| 人人摸人人搞| 高清免费在线视频| 99日韩| 91肏| 婷婷五月天开心网| 午夜在线成人网站免费观看| 四色 爱 婷婷 精品 亚洲 五月天| 99热久草| 色婷久九| 日韩在线一级| 三级毛片7979| 99资源在线视频| 丁香婷婷老司机久操| 色五月激情五月丁香五月婷婷啪啪综合 | 99热只有这里有精品| 丁香婷婷色色| 色99热| 久久一品区| 丁香婷婷婷五月| 欧美激情性做爰免费视频| 99re热精品在线视频| 超碰日日操| 天堂爱啪啪| 色婷婷性爱| 激情五月天色爱| av大片在线| 五月丁香六月婷婷亚洲激情综合| 亚洲视频在线观看| 婷婷中文字幕版| 97亚洲视频在线| 天天久久综合| 99精日本久久| 天天狠狠六月婷丁香影院| 婷婷色狠狠| 真实亲子乱子伦高清在线观看| www.9色色色| 99热中文字幕久久| 九九热在线99| 六月丁香激情网| 色五月丁香五月激情五月激情| 丁香五月天激情视频| www.99久| 九九色综合| 丁香婷婷六月天| 人与禽A片啪啪| 丁香五月天综合网| 成年视频免费观看| 狠狠色色| 婷婷精品在线| 国产亚洲成AV人片在线| 99久在线观看| 婷婷色在线| 9999热精品在线免费播放| 99久久户外勾搭| 婷婷色狠狠| 2020日日干| 久久久久这里只有精品| 久色国产| 大香蕉久久久久| 色五月激情综合网| 色婷婷综合网站| 琪琪色影音先锋| 丁香六月在线| 久久色这里只有精品| 99精品97| 国产又黄又爽又色的免费| 亭亭五月天成人| 99碰碰视频| 男男野外做爰全过程69| 婷婷五月天小说| 婷婷五月激情的图片| 三级黄色大片视频| 99热e| 亚洲尤物在线| 久久婷婷五月综合色奶水99啪| 婷婷香蕉| 五月天激情综合| 丁香五月天激情婷婷丁香六月 | 五月婷婷婷丁香播| 熟女五月天久久综合| 伊人婷婷五月天av| 亚洲成人在线在线| 色婷婷激情| www.五月天。com| 激情啪啪五月| 六月丁香五月亭亭| 91日本在线观看| 色欲AVV| 99久久综合| 人人爱人人摸人人澡| 99久久久国产大片| 在线中文亚洲| 9色天堂| 色色热| 五月婷婷六月激情| 亚洲日日操| 五月激情婷婷开心五月| 色情丁香五月婷婷精品| www,色综合| 香蕉久久av一区二区三区| 九九色99| 日韩aaaaa| A久网| 丁香六月亚洲| 99爱视频精品| 国产综合视频婷婷| 婷婷五月天丁香激情| 免费看欧美成人A片无码| 久久色婷婷| 久久99热这里只有精品 | 丁香花五月天婷婷成人社区| 中文字幕永久在线| 99热免费| 婷婷金品综合视频| 久久人人超| 中文在线视频久9| 免费视频WWW在线观看网站| a网站免费观看| 黄色成人网站在线播放| 99这里都是精品| 丁香五月区| 五月天激情啪啪| 六月丁香婷婷在线波多 | 日本综合九九| 亚洲中文字幕翔田千里| 色五月,com| WwW色婷婷| 国产看真人毛片爱做A片| 色五月丁香五月| 激情综合网五月天| 色五月综合网| 无遮挡国产高潮视频免费观看| 色婷婷香蕉| 色播五月天激情| 色色激情五月天| 久久五月丁香| 99热9| 欧美性色A片免费免费观看的| 婷婷五月天综合网| 在线观看免费人成视频无码| 九七色色六月丁香| 美女被肏网站在线看| 97超级免费无码| 婷婷香蕉视频| 五月婷婷色播| 五月婷丁香| 性爱动图国产麻豆一区二区三区| 99久热这里有精品| 激情婷婷丁香色情五月天| 五月天精品综合在线| 天天情色五月天| 天色综合网| 色婷婷五月天天天做| 综合狠狠五月婷婷| 久久思思精品| 强伦轩人妻一区二区电影| 色欲婷婷五月天| 婷婷天天日婷婷| 一本大道熟女人妻中文字幕在线| 99热 日韩| 97婷婷在线视频| 97福利视频| 六月色狠狠色| 色综合久久88色综合天天99| 色色五月婷婷| 99亚洲精品综合在线| www.99精品视频| 久久综合激情| 婷婷五月天激情综合网| 亚洲熟女色| www.狠狠操| 精品一区二区三区三区| 激情丁香五月天综合| 五月婷婷m| 2017狠狠干| 激情婷婷五月天| 91综合在线观看| 中文字幕婷婷五月天| 热99re| 五月丁香亭亭操逼| 超碰在线免费观看日韩| 丁香五月激情啪| 激情都市五月天| 2020日日干| 五月婷婷在线丁香| 综合激情深爱| 婷婷丁香六月| 国产操肏网站| 夜夜操夜夜姧| 日韩成人电影AV| 97操碰人免费| 888精品福利地址| 精品久久久人妻| 午夜少妇在线观看视频| 日韩操逼大片| 热99在线| AV成人在线网站| 久久9久| 天天做天天爱天天做| 九九成人视频| 综合激情五月婷婷| 婷婷丁香人妻天天久久| 99国产精品久久久久久久久久久 | 婷婷色基地在线看 | 五月天激情四射| 九九综合88| 日日天天操| 精品久久9| 婷婷久久18| 天天爽天天爽视频| 天天舔天天爽| 婷婷激情综合色五月久久91| 天天操加勒比| 激情五月天伊人影院| 五月色综合| 91人人操.COM| 色五月婷婷基地| 婷婷丁香五月激情图片| 337p大胆噜噜噜噜噜91Av| 97在线/日本| 99色最新在线视频网站| 国产古装妇女野外A片| 91美女被操| 亚洲综合无码| 在线看黄色| 婷婷精品性视频| 99精品久久久久久| 台湾佬天天日丁香婷婷五月天| 狠狠色婷婷777| 丁香五月性| 九九热av| 操人91| 久久久久激情| 国产激情AV| 91大神操美女| 六月色播| 色色色99| 超碰成人电影| 五月天狠狠| 超碰免费人人| 婷婷五月天堂| 婷婷五月天激情综合婷婷五月天激情综合 | 午夜丁香五月天综合| 日韩青青| 天天爽天天日天天舔| 九月婷婷人人操人人舔人人爱| 99国产性感视频| 性爱技巧五月| 色色A| 久99久在线观看| 婷婷久久亚洲| 99 热| 九九在线视频| 丁香五月天av| 婷婷五月丁香性爱| 97欧美在线| 久久亚洲婷婷| 极品人妻VIDEOSSS人妻 | 另类精品视频在线观看| 啪啪色激情五月天| 国产AV一区二区三区最新精品| 五月丁香成人| 综久久久| 少妇高潮一区二区三区99欧美| 丁香五月1页| 亚洲视频一区| 婷婷播5月| 五月天久久www| 五月天播播| 激情亚洲婷婷六月| www.com.色色| 狠狠色成人影片| 操逼123网| 久99精品视频| 夜夜操夜夜操| 色综合综合色| 色色色综合色| 国产黄色在线| 五月天久久网站| 国产xxxxx在线观看| 婷婷视频在线| 激情五月婷黄版| 26uuu淫色| 午夜色丁香| 丁香婷婷深情五月亚洲| 久草xx性爱视频| 超碰色色综合| 99久久超级| 婷婷精品视频| 丁香五月婷婷色播艳门照| 丁香五月激情综合婷综| 国产SUV精品一区二区6| 五月婷婷激情中文字幕| 狠色狠色狠色狠色狠色网| 99爱爱网| 超碰在线日夜| 久久婷综合| 99热这里只有精品最新地址获取| 五月婷久久| 国产精品成人网址| 这里只有精品免费视频| 99热亚洲精品| 色亚洲视频| 久久总和99| 婷婷色色亚洲| 婷婷金品综合视频| 丁香婷婷激情五月天无毒不卡蜜桃| 六月色婷婷色| 日本色久| 婷婷五月综合丁香久久| 97天堂| 久久综合中文字幕| 久久精品66| 天天插操| 婷婷五月天影视首页| 五月丁香色色网| 色天天综合| 色噜噜狠狠色综合伊人| 97操| 欧美69久成人做爰视频| 五月丁香成人网| 九九人人精品| 色五月人妻| 五月丁香六月婷婷亚洲| 亚洲激情无码久久| 99日本精品视频热| www.99精品视频| 97自拍视频网| 性爱网五月婷婷| 一本道在线电影| 欧美99热| 天天色宗合| 日本色色图| 美欧日韩国产成人在战| 天天日,天天插| 99re在线这里只有精品视频首页| 电影爱拉战争免费观看| 五月色情婷婷| 丁香五月天导航| 9久久久久| 六月丁香色色| 婷婷涩涩五月天| 99色视| CAOBIBI| 最新AV在线观看| 亚洲av网址| 99视频在线啪| 亚洲色婷婷五月天| 亚洲碰碰碰| 丁香五月婷婷偷拍| 久久伊人9| 激情婷婷久久| 九热视频| 精品99这里有| 秋霞学生妹一二级| 日 日干 日日做| 五月婷婷激情色情网| 26uuu激情五月天| 日逼免费视频| 日日爱699| 日日夜夜狠狠操| 五月婷综合| 欧洲亚洲午夜| 婷婷五月天精品| 日日日日日| 大伊香蕉精品视频在线 | 日本不卡一区二区三区| 婷婷五月天天| 97人人操com| 丁香久月婷| 色婷久久| 婷婷综合网在线| 婷婷伊人久久综合| 狠狠人人婷婷| 狠狠色狠狠| 操碰91| 九九九激情网| 五月间天堂综合| 婷婷五月av| 丁香五月另类小说在线阅读| 婷婷五月天首页| 天天干天天拍| 九九热在线观看视频| 99精品偷自拍| 久久色吧| 久久98| 五月婷婷激情色情网| 天天色综网| 97人人干人人操| 国产亚洲精品久久久久苍井松| 丁香婷婷影院| 91久久久久久久久久久| 激情五月婷婷在线区| 五月婷婷官网色| 欧美丁香婷婷五月| 伊人久久婷婷五月综合97色| 亚洲AV另类| 五月丁香六月色婷婷综合五月天 | 神马欧美精| 久久久人妻| 久久久A级视频| 日韩色色网| 激情五月天电影| 天天肏夜夜肏| 亚洲成人无码免费| 久久精品国产色| 人人爽天天爽| 日韩精品AV一区二区三区| 亚洲色五月婷婷| 亚洲性爱干干| 婷婷色导航| 1000部毛片A片免费观看| 日本在线wwww| 日本va网站| 国产激情综合五月久久| www.夜夜操| 色五月婷婷操逼| 丁香五月av在线| 五月婷色色| 亚洲成人精品三区| 天天摸.天天mo| 激情五月婷婷五月| 精品久久穴| 99热最新网址| 丁香五月天成人网站| 国产精产国品一二三在观看| 在线中文字幕av| 亚洲第一精品成人999久久精品| www.色婷婷| 国产av影片| 深爱激清网| caop视频| 精品99久久久久成人网站免费| 激情中文在线| 日韩操啪| 色五月婷婷开心| 五月婷丁香| 婷婷人人操| 婷婷激情五月综合| 无遮羞AV| www色婷婷久久综合久色| 区美毛片子| 麻豆忘忧草午夜| 婷婷丁香五月天小说| 色综合天天| 91人人网| 亚洲va成人va成人va在线观看| 亚洲xx在线| 久久五月婷综合网| 日韩成人精品中文字幕| 思思热这里只有精品视频666| 欧美性爱一区| 91嫩草久久| 日日夜夜狠狠操| 97操碰在线97| 99热国产在线| 亚洲中文AV| 日日做天天操夜夜爽| 色欲一区二区三区精品A片| 婷婷久久综合久| 激情小说五月天| 九九久久99| 色色网站| 综合久久婷婷| av大香蕉| 噜噜色天天开心| 丁香五月色| 欧美色婷婷| 五月丁香久久| 五月丁欧美| 天天爽天天爽| 99热这里只有在线播放| 国产精品一区在线观看你懂的| 婷婷五六月丁香| 欧美精品XXXXBBBB| 色综合久久天天综合网 | www.9797国产| 狠狠色狠狠| 思思精品视频| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 操逼巨乳91| 婷婷玖玖五月天| 五月激情网站| 日韩操人| 99热这里是精品| 天天操天天爽天天爱| av大片在线| 国产精品热搜丁香五月婷婷| 97婷婷五月激情六月丁香伊人| 中文av网| 五月丁香啪啪啪啪| 亚洲天天综合| 91干视频| 婷婷五月丁香色综合| 影音先锋91网站在线观看| 婷婷综合激情| 99精品国产在热久久婷婷| 狼友超碰| 丁香五月激情六月| 精品少妇蜜臀91| 色婷婷综合综合网| 激情亚洲网| 桃色伊人在线| 久久性爱网| 爱草人视频| 另类图片色五月| 国产精品久久久久久久久久 | 久久五月丁香| 五月天欧美激情| 97碰成超视频免费视频| 五月天精品视频| 色五月成人在线| 色九月婷婷丁香| 天天干狠狠| 99秘 在线| 五月99久久| 亚洲人人操| 色色色色综合| 日日干五月天婷婷| 亚洲mm免费| 狠狠香蕉| 99综合一区| 国产操碰| 婷婷字幕在线| 99综合| 看国产探花操逼三级片| 激情丁香社区| 欧美日韩国产一二区| 91综合在线| 色婷视频| 婷婷免费精品视频| 极品九九九九九九| 久久草大香蕉| 五月天久久网站| 激情五月婷婷综合网| 亚洲av综合网| 久草视频大香蕉99| 99热这里是精品| 夜夜躁爽日日| 狠狠色丁香99| 99自拍视频网站| 另类婷婷五月天啪帕帕| 天天草天天爽| 色色亚洲视频| www.久久66| 五月丁香六月色婷| 婷婷va| 操97在线观看| 天天爱天天操| 超碰九九热| 99热这里只有精品66| 激情六月五月婷婷综合网| 99激情在线| 69人妻人人澡人人爽久久| 超喷97免费在线视频| 人妻啪啪啪| 大香蕉中文| 俺也去在线视频 | 亚洲无码色色| 99超级碰碰| 婷婷五月综合激情免费| 色综合五月婷婷狠狠干| 五月丁香| 99精品一二三四视频| 五月婷久久综合| 51精品国自产在线| 亚洲第一第二网站| 亚洲av综合网| 色婷六月| 色播五月婷婷| 人人草人人视| 天天天摸夜夜夜玩| 九九亚洲小视频| sisi热国产| ,99视频久久| 五月综合激情久久| 久久99热只有精品| 日本一级一级一级一级| 九九热啪啪| 丁香五月六月综合激情| 久久色9| 青青草Avb在线| 天天操精品| 99 福利 导航| 国产精品国产| 98色花堂98t.R| 91精品又长又大又粗又爽又猛| 激情综合网激情五月欧美| 99操99| 日本三级中国三级99人妇网站| 亚洲第一成人无码A片| 91超碰在线观看| 日本乱论99| 99热精品在线观看| 97香蕉碰碰人妻国产欧美| 激情五月狠狠| 色色色色色色色色色色色色色色,网站| 亚洲五月婷天天操| 这里只有精品久| 亚洲激情网站| 国产VA亚洲VA96| 婷婷五月色天| 激情丁香六月| 91婷婷| 色婷婷综合网站| 国产69久久久欧美黑人A片| XX色综合| 男人的天堂在线婷婷| 区啪精品| 五月丁香久人妻中文| 9久精品| 狠狠88综合久久久久噜噜噜| 五月婷婷久久内射| 99爱在线视频观看| 五月婷三级片| 99ri视频在线播放| www.久久久.com| 在线另类| 精品一区二区三区免费毛片爱| 做爰丰满少妇1313| 影音先锋AV资源男人站| 99丁香五月婷婷在线| 激情九月婷婷| 五月丁香婷婷六月天| 涩五月色婷婷| 久久人操| 中字幕视频在线永久在线观看免费| OYIWbGcPu8H| 香蕉婷婷色五月| 99久久a线观| 99国产性感视频| 亚洲AV网站在线观看| 婷婷色综合| 日美三级| 成人片在线播放| 丁香五月激情澎湃一区| 色五月婷婷大香蕉| 最近中文字幕大全免费版在线| 亚州欧美黄色电影| 色域五月婷婷丁香| 色五月丁香激情| 色五月丁香婷婷久草| 五月综合色| 中文字幕无码成人电影| 婷婷五月天成人在线视频| 五月丁香婷婷伊人| 久久伊人婷婷| 丁香情色五月| 97色婷婷五月天| 人人操A| www久| 99操不停| 婷婷五月综合婷婷| 五月情色天| 九九黄色网| 99久re热| 欧美性爱5月天天天看| 操人无码| 色婷婷玖玖影院| 综合色五月天| 久久久香| 色婷婷精| 日本va欧美va精品发布视频 | 中文字幕成人| 一级韩国产精品毛| 婷婷五月丁香五月丁香| 天天草天天爽| 五月婷婷操操| 五月婷婷xxx| 日日操日日撸| 久久色六月| 欧韩性爱| AV在线免费网站| 丁香五月天婷婷大香蕉| 色五月婷婷在线视频| 婷婷综合色色| 免费成人网在线观看| 九玖欧洲亚洲| 东京热免费视频| 色九月婷婷综合| 综合噜噜| 日本三级日本黄色| 欧洲亚洲免费视频区| 色五月大香蕉| 天天干天天操天天射| 丁香成人色情五月天| 日本欧美成人片AAAA| 五月天激情综合网俺也去| 久色激情| av电影在线播放| 色色日韩无码| 国产欧美熟妇另类久久久| 久热91| 91人人操人人| 日韩精品成人在线| 亚洲日日日| 久草婷妨| 99久久久国产精品免费蜜乳tv| 婷婷五月影院| 亚洲综合视频天天精品| 激情色色色| 91一起操| 超碰chaompinm| 久久与婷婷| 热99精品视频五月| 久久婷婷五月天激情四射| 丁香五月激情婷婷婷婷在线观看| 在线看AV| 激情五月,深深爱五月| 影音先锋男人女人| 深爱激情五月天婷婷网| 变态 另类 在线| 开心日韩丁香婷婷五月| 在线看九一V图片| 丁香五月亚洲综合| 碰碰碰97国产| 久热网站| 五月丁香偷拍| 男人的天堂五月丁香| 久久与婷婷| 色婷婷久久综合中文久久一本| 深爱婷婷基地|