欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

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
返回資訊列表
久久性爱99国产| 9 1超碰九色| 人妻人人操| 色综合色综合网| 丁香六月婷婷操逼网| 色色色色色色色色五月先| 开心五月激情| 999激情视频| 日日夜夜九九| 无码碰碰| -91九色大屁股| 婷婷大美在线| 强辱丰满人妻HD中文字幕| 国产色视频网站2| 婷婷激情五月天网站| www激情| 开心激情网五月天| 91ncm视频| 五月婷婷co.m| 久久精品99国产精品日本| 国产高潮白浆一区二区| 狠狠草狠狠草| 亚洲色基地| 2025中文在线视频字幕免费观看| 久久性爱视频| 91精品婷婷国产综合久久| 亚洲综合在线丁香五月| 精品一二三区久久AAA片| 九九av在线| 天天操天天草天天草天天| 五月丁香婷婷综合网| 婷婷五月综合中文字幕| 色五月天综合| 91色久| 五月婷丁香| 99热97美女| 久久这里只有精品1| 99在线精品免费视频| 丁香六月狠狠| 大香蕉久久伊人网| 五月婷婷色播| 操人精品| 亚洲无码99| 色五月激情五月| 碰碰女| 久久黄色片| 日日操夜夜擼| 人妻尝试久久久久久久久久久久| 久久99久久99久久99| 久热这里这里有精品| 超碰色综合| 久9热在线免费观看| 国产丁香五月天婷婷| 成功精品影院| 久久五月天黄色五月天色网址| 成人AV在线电影| 91色在线| 激情综合色网| www.五月婷婷久久.com| 婷婷香蕉精品| www激情| 日韩欧美不卡| 99热在线观看免费精品| 狠狠九九婷婷韩| 日韩人妻无码专区| 91精品久久久久久| 久久永久网址| 丁香五月激动深爱欧美| 99热这里只有精品一区| 日本高清不卡免费一区二区三区| 5月婷婷五月天| 思思re最新视频| 色国产五月| 丁香五月社区| 五月天婷婷在线播放| 五月 婷 久| 五月婷婷久久网| 亚洲精品国产A久久久久久| 日本女天天爽| 婷婷五月丁香综合网| 五月天激情网页| 丰满老熟妇BBBBB搡BBB| 色五月天本日| 99超碰人人| 激情内射p| 九九色插| 色婷婷婷婷| 久操热| 欧美成人AAA片一区国产精品| 五月婷婷六月爱| 欧美电影在线观看| 五月丁香中文字幕| 久婷婷| 激情精品久久| 五月丁香色停停啪啪啪| 91狠狠综合久久| 婷婷五月丁香五月丁香| 久久ri精品视频| 亚洲人妻五月丁香婷婷| 中文字幕黄色电影网址| 婷婷伊人网| 梁铮版蜘蛛女在线观看| 99热99日天天干| 99综合一区| 色婷婷四色| 五月婷婷激情中文字幕| 丁香六月av| 久久免费高| 五月婷婷六月丁香在线| 秋霞午夜理论| 一区二区aV电影免费看| 丁香婷婷色五月激情综合| 欧美猛片| 色热久资源| 丁香六月婷婷激情| 九九热在线视频| 色婷婷88| 久久机热/这里只有精品| 欧美色99| 蜜乳人妻一区二区三区| 国产av第一专区| 99精品在线观看| 婷婷 丁香 久久| 91丨九色丨国产打屁股| 色色免费网站| 99视频网址| 色色色色色色色色色999| 啪啪综合| 超碰在线观看9| 91久久精品国产91性色TV| 综合五月婷婷| 九九精品综合| 黄色一级影片| 色色色com| 色狠狠六月| 色婷五月| 99色在线| 大香蕉手机视频| 婷婷五月天AV在| 色五月,com| 婷婷91| 99人妻碰碰碰久久久久视| 天天开心AV色综合婷婷五月天| 丁香婷婷五月综合影院| 婷婷久久内射| 好色婷婷| 六月丁香六月婷婷欧美| 色天使色婷婷| 97婷婷狠狠| 偷偷操九九| 2018国产大陆天天弄| 久久婷婷综合五月天| 人妻射精AV| 99色精品| 99操免费视频| 夜夜操天天爽| 亚洲成人电影aaaa| 99这里只有免费的精品| 五月婷婷六月丁香激情深爱| 国产9色在线/日韩| 五月天怕怕| www.色婷婷.com| 激情综合网五月天| 这里只精品热在线18| 五月天操逼网| 97超级碰碰碰| 欧美成人日韩| 色www.con| 激情五月婷婷色综合| 久久A极片| 色99在线| 噼里啪啦完整版中文在线观看| 人妻中文在线| 丁香五月偷拍| 五月天伊人综合| 色色日本| 久久九九视频| 我要看激情五月天| 婷婷五月天电影区小说区| 一起草无码视频| 久久33视频| 久久黄色片| 思思久久99热只有频精品66| 久久A极片| 99热.com| 久久小视频| 丁香五月手机在线| 色狠狠色| 婷婷六月天国产综合| 夜夜撸夜夜骑| 欧美槡BBBB槡BBB少妇| 91精品久久久久久久久| 深爱激情综合| 精品人妻伦一二三区久久| 五月婷婷激情综合网 | 色综合中文综合网| 成人国产网站在线免费看| 日本综合久久| 少妇熟女视频一区二区三区| 黄色视频网站在线播放| 99年操人人爽| 九九九九成人| 日韩xx在线| 97久操| 免费观看高清无码| 婷婷之玖玖| 99cao婷婷| 777精品久无码人妻蜜桃| 色丁香久久| 五月天婷婷中文字幕在线播放| 99热的无码| 99成人免费视频| AV天堂淫乩| 99re思思| 激情啪啪五月天| 九九九九操逼| 五月婷婷九九久久| 色就是色婷婷五月亚洲激情| 五月天激情开心网| 91久久综合亚洲鲁鲁五月天| 亚洲色五月| 五月天婷婷视频| 熟女人妻一区二区三区免费看 | 天天色天天爱天天爽| 99热这里只有精品官网| 婷婷五月深深爱| 日本色色网站| 婷婷六月天| 4399在线观看免费高清毛片| 影音先锋综合网| 91AV婷婷| 无码婷婷五月天| 婷婷六月插屄激情| 婷婷五月深爱五月| 99国产精品久久久久久久久久久| 色色热| 美女久久婷婷| 99热一本| 999婷婷综合| 九九免费精品在线视频| 99热最新| 色色综合网站| 99超碰人人| 五月丁香婷婷啪啪综合| 色噜噜婷婷| 26uuu淫色| 婷婷丁香91综合| 综合久久久婷| 激情网开心网| 婷婷五月天激情电影| 少妇大叫太大太粗太爽了A片| 久热99视频在线观看| 亚洲黄网AV| 成人短视频在线| 亚洲无码成人网| 天天肏天天爽夜夜爽| 色五月婷婷网| 国产人妻777人伦精品HD| 色五月 婷婷, 大香蕉| Caop在线| 亚洲经典小视频| 另类激情五月在线视频欧美| W色综合| 日韩精品999| 免费久久这里只有精品99| 色99视频| 在线中文字幕免费视频| 青青草原亚洲天堂| WWW.夜夜| 男女啪啪做爰高潮无遮挡| 性爱五月婷婷| 久久五月天激情视频| 色五月天丁香婷婷| 久久XX日本综合| 久久精品系列| 激情综合六月| 超碰在线国产| 五月色激情综合网| 99色在线| 五月天婷婷基地| 久久九九99.www| 免费观看全黄做爰的视频 | 国产色色网站网址| 91精品久久久久久77777| 国精产品一区一区三区免费视频| 久久久久久久久久久97| 激情综合色播| 91精品刘玥| 99热精品网| 99热99热在线| 91人妻九色大屁股| 国产亚洲色婷婷99精品| 色五月婷婷亚洲| 91婷婷视频| 丁香婷婷九月| 天天日天天插| 99视频在线观看地址| 欧美日韩国产一区| 五月天婷婷色| 日本97在线| 亚洲六月婷| 99久在线精品99re8热| 色v综合网| 丁香五月激情视频| av九九| 丁香花色色网| 伊人激情影院| 都市激情久久| av九九| 伊人久久大香天蕉亚洲特级| 婷婷五月天成人综合网| 国产精品久久久爽爽爽麻豆色哟哟| 色色综合激情| 色你久久| 婷婷99狠狠躁天天| 婷婷九月久久| 欧美在线视频9| 99色网站| 亚洲精品亚洲人成人网| 丁香六月狠狠干| 色五月激情问网站| 欧美激情综合色综合啪啪五月| 免费99情趣网视频| wwwss在线观看| 人人妻人人澡| 婷婷五月天伊人| 久爱综合| 五月婷久久| 五月丁香六月激情| 久久婷婷激情五月天一区二区| 狠狠干综合网| 无码动漫av| 开心激情网在线| 婷婷久久色五月婷婷久久久| 激情五月丁香综合网站| 丝袜激情网| 五月天久久网站| 久久密臀婷婷| 婷婷色丁香五月| 99在线资源| 人妻内射视频| 综合大香蕉| 九九99在线免费在线观看视频| 亚洲成人无码免费| 色婷婷免费观看| 97干在线视频| 深爱五月激情| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 亚洲殴洲精品Av在线| 开心五月丁香综合久久| 白人荫道BBWBBB大荫道| 久久综合天天综合| 人人妻久久妻| 狠狠99| 五月丁香久| 中文字幕无码成人电影| 五月婷婷在线免费观看| 激情五月天婷婷免费观看| 日本人妻A片成人免费看片| 97成人丁香婷婷| 91chinese在线| 99er国产| 成人AV片播放| 日本色天堂| 伊人综合婷婷| 777精品久无码人妻蜜桃| 五月丁香久久久| 婷婷中文字暮| 六月丁香五月天| 春色激情第四色| ai97re99一本| 噜噜噜狠狠色综合| 五月中旬婷婷丁香六| 97人人干视频| 变态另类9| 久久久91| 先锋影音男人的天堂AV| 色色色综合| 五月丁香久| 99精品视频网| 国产婷婷五月色情综合| 五月天激情综合首页| 色婷婷成人做爰A片免费看网站| 激情纯色婷婷五月天在线不卡视频| 超碰成人在线免费观看| 久久人妻视频| 五月婷婷啪啪网| 五月婷婷亚洲天堂97色婷婷| 久久久.COM| 五月婷婷开心激情六月蜜桃| 中文字幕综合| 亚洲视频在线观看| 91avse| 求可以看的AV网址| 免费亚洲成人电影AV| 禁欲电影完整版在线播放| 无码激情精品色婷婷久久久久| a色婷婷| 欧美性爱五月天| 五月天电影网| 性爱网久久| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 日本97人人| www激情| 天天舔天天摸天天透| 另类图片天天影视在线观看| www.九月婷婷丁香.com| 538在线精品| 深爱激情69热| 五月丁香少妇A| 欧美日本黄色| 97人妻人人| 成人国产欧美大片一区| 超碰99在线观看| 亚洲欧美999| 久久看婷婷| 五六月婷婷久久| 99精品网| 久久天天| 日韩爱操视频| 白天AV月月| 99re免费精品视频| 九伊人网| 婷婷综合色五月天| 99热色无码| 婷婷久久久久| 99丁香五月婷婷在线| 久久黄色片| 激情综合色图| 啪到高潮激情丁香五月| 少妇人妻凹凸视频| 五月天五月色| 久久久激情| 一级韩国产精品毛| 大地资源色婷婷视频在线| www.91九色| 欧美日韩一区二区三区四区| 热久久视频99| 亚洲五月天综合色| 丁香五月综合高清在线| 久久久99日本大片| 国产性爱色| 99久久婷婷综合| 欧美色五月| 五月婷婷色影院| 九九热免费视频| 激情五月婷婷伊人| www。五月天。com| 五月天自拍网| 五月天色在线| 久热这里只有精品性色AV| 超碰在线人人| 久青草大香蕉| 99热99日天天干| 五月丁香婷婷综合| 色噜噜狠狠色综合日日| 最新色色五月天| 亚洲色激情| 日本熟女一区二区| 99视频这里有精品| 五月天综合色| 99色免费视频| 婷婷五月丁香综合瑟瑟| 黄色三级毛片中字| 99se丁香| 欧美怡红院黄站| 丁香五月性| 9l视频自拍9l九色9l成人| 婷婷五月六月激情| 五月天激情无码专区| 无码毛片992367| 丁香五月日啪| 2020久久婷婷五月| 亚洲五月天婷婷综合| 天天日夜夜高潮| 五月婷婷欧美| 色婷婷丁香六月| 九热久| 大香蕉人在线65| 中美日韩成人在线| 色五月丁香总合网| 国产在线6| 国产激情综合五月| 久热这里这里有精品| 激情五月天视频| 久久婷婷国产| 日本色99| 六月丁香激情最新更新| 五月丁香久久久| 开心五月深爱激情| 99日这里只有精品| 日日舔夜夜操| 五月天色婷婷网| 4438激情网| 婷婷五月天激情小说| 丁香五月激情五月开心五月| 美女激情综合| 99热成人| 色色网站毛片| 成人资源在线| 激情5月婷婷狠狠干| 五月丁香花免费视频| 五月丁香六月情| 人妻久久久久久久 | 五月婷婷就去色| 熟女乱论网| 婷婷亚洲五| 五月网站| 欧美日韩中国| 2016日日夜夜操| 热99国产精品| 密臀久久| 激情五月丁香亭亭 | 天天色综合色| 天天爽综合网| 精品人妻久久久久久| 开心婷婷五月| 久久婷婷七月丁香| 久久婷五月影院| 97人人操com| 99啪啪网| 97色婷婷五月天| 久久婷婷五月草视频| 丁香五月激情视频在线| 久久九九热视频| 婷婷香五月天| 96自拍视频九色在线观看| 在线看黄色| 丁香 婷婷 激情 综合 五月| 久久人妻久久久久| 91人妻视频| 日本五月婷婷| 伊人玖玖精品| 国产乱人偷精品人妻A片| 丁香五月激情网| 久久婷婷七月丁香| 亚洲无码播放| 玖玖热视频| 五月激情天| 99视频| 激情婷婷在线中文字幕| 婷婷五月天激情在线观看| 丁香婷婷五月| 六月婷婷中文字幕| 久9热视频在线| www,久久久| 久久免费婷婷视频| 很很干天天干| 夜夜撸天天操| 秋霞少妇AV网站| 亚洲第一黄网| 狠狠狠人妻| 九九热经典视频在线观看| 五月天偷拍| 欧美啪啪网| 九九热只有这里精品| 天天做天天爱天天要| 91色五月| 色逼综合网| www.五月婷婷| 婷婷五月花西瓜| 97影院一级片| 精品热九九| 亚洲综合网区| 婷婷 色 丁香 夜| 色噜噜狠狠色综合日日| 天堂久久大香蕉| 3pAV| 99视频久久| 任你躁XXXXX麻豆精品| 久久精品91视频| 天天色域综合网| 夜夜撸夜夜骑| 91超碰九色| 亚洲另类视频| cao视频,现在观看| 激情五月综合视频| 天天婷婷| 97日日碰碰| 婷婷五月天色色| 免费视频无码| 婷婷丁香熟女| 婷婷六月啪啪| caop在线视频| 婷婷五月综激情| 99综合色色色| 色综色五月天婷婷| 五月综合视频| 色综合久久88色综合天天看| 婷婷激情小说| 五月天桃色深爱网| 大香蕉久久久久久久久| 思思热国产在线| 色色欧美色色色| 五月激激网w'w'w| 色色色热| 4399在线观看免费高清毛片| 人人爽亚洲| 99爱在线视频| 久久天堂精品| 激情av在线| 天堂久久久久天堂网| 五月婷婷婷婷婷婷艺术| 99国产精品久久久久久久久久久 | 全部老头和老太XXXXX| 欧美色婷婷| 99re思思久久| 丁香婷婷欧美综合| 天天射天天射一道本日本社区| 五月成人网站| se色99| 男女99免费视频| 色爱综合网| 91日本在线观看| www91色网站| 久久996re热这里只有精品无码| 99热精品在线播放| 超碰只有精品在线| 色五月婷婷DVD| 国产黄色在线| 狠狠色无码| 五月丁香亭亭电影久久| 爱草视频在线| 欧美日本韩国亚洲| 五月丁香六月激情综合网| 大香蕉手机视频| 婷婷丁香人妻天久久| 色五月欧美| 日本色图综合| 天天爽天天| 亚洲色色色色| 人妻丰满精品一区二区A片| 99热这里有精品24| www.色色五月天.com| 激情综合5| 性爱视频久久| 久99在线视频| 99久视频| 国产日日操夜夜操的肉棒视频| 亚洲av| 成人va视频| 亚洲一级色电影| 九九热最新| 国熟女视频| 激情五月婷婷| 色色AV色色色东莞| 色综合偷拍| 直接看的av| 欧美操综合| 97超碰人人操| 狠狠干五月天婷婷网| 99爱在线视频| 五月婷免费视频久久久| A片天天| 天天狠狠色噜噜| ...婷婷五月综合不卡,国产在线手机| 99久视频| 婷婷欧美激情综合| 蜜桃婷婷丁香综合久久开心亚洲| 日日操夜夜爽| 五月天激情站| 9精品一区| 五月欧美丁香在线观看| 安息电影在线观看完整版| 人妻丰满精品一区二区A片| 五月香六月婷| 六月丁香深深爱综合网| 久久综合五月天| 五月丁香综合网色欲| 色婷婷AV久久| 天天色视频| 五月天婷婷影院| 色婷婷伦理| 一片AV片免费播放| 婷婷中文无码| 久久中文人妻系列| 拍色综合| A片一曲| 人人爱天天摸摸天天爱| 婷婷字幕在线| 色婷婷成人做爰A片免费看网站 | 欧美日韩中国| 综合婷婷| 日韩 中文 欧美| 婷婷激情五月天综合| 久久久久亚洲AV综合| 天天噜噜| 久久久WWW| 69天堂99| www.丁香五月| 国产综合色婷婷精品久久| 99re思思| 日本女色人人| www激情| 99∨VTV| 五月婷婷色男女| 五月天丁香看婷婷| AV操逼网| www,五月天激情| 免费亚洲成人电影AV| 国内一级片| 91视频五月丁香| 日日操人人操| 99九九综合久久九九| 97人人干视频| 激情综合网五月激情| 99热地址| 日日婷婷不卡| 欧韩性爱| 日韩欧洲亚洲| 超碰人人摸人人操| 99综合视频一体| 九九五月天| 五月天播播中文字幕| 五月社区婷婷激情| 色色综合无码| 久久图色4| 日韩久久日| 五月色情| 免费看欧美成人A片无码| 五月婷在线| 看国产探花操逼三级片| 色狠狠999综合网| 色玖玖综合| 亚洲视频久久| 婷婷五月天丁香久久| 91操人视频| 久久婷婷六月综合| 欧美久久婷婷| 中文资源在线a | 天天爽在线视频| 综合日本婷婷| 91打屁股免费看| 玖玖爱资源站| 另类图片天天影视在线观看| 久久只有18视频| 婷婷色香六月综合激情| 97碰啪啪| 大香蕉人人人| 激情五月天啪啪| 538任你爽视频不一样的| 国产精产国品一二三在观看| 在线99热| 五月丁香六月情| 五月天综合| 国产精品久久久海的味道| 五月香六月婷| 五月天婷婷在线播放| 六月丁香五月亭亭| 五月天免费色| 天天婷婷综合| 91热99| 丁香五月香蕉在线| 97超级碰碰碰| 激情亚洲婷婷| 五月婷婷|欧美| 亚洲国产黄色电影| 六月综合婷婷开心伊人| 国产视频色色色色色色色| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 久久久久婷婷五月热综合| 亚洲久热| 综合婷婷| 欧美色图45678| 日韩狠狠色| 99久久新视频| 婷婷色导航| 色色色视频免费无码 | 丁香婷婷综合色五月激情国产基地| 日韩aⅴ视频| 色欲五月丁香| av在线不卡播放| 九九色大香蕉| 色久婷婷五月| 婷婷丁香五月欧美人| 婷婷六月网| 色色欧美色色| 色色色五月婷| 五月婷婷久久综合| 色五月婷婷老师| 天天插天天爽| 人妻操逼视频| 九九色热| 亚洲殴洲精品Av在线| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 激情婷婷丁香色五月| 九月综合| 思思热99er在线视频| 九九亚洲视频| 五月婷婷六月丁香在线| 热久精品| www.99热这里精品| 久久久久久久久99精品| 操碰91| 亚洲精品久久久无码| 国产精品国产成人国产三级| 五月天大香蕉视频| 色五月,婷婷大香蕉| 欧美激情综合| 中文字幕性爱丰满| 婷婷金品综合视频| 天天爽天天日天天舔| 五月婷婷综合在线观看| 久久六月综合| 婷婷五月另类网站| 狼人久草| 亚洲免费99| 五月综合激情视频在线| 亚洲综合婷婷| 狠狠干狠狠操狠狠爱| 婷婷射综合| 婷婷丁香视频在线观看免费 | 丁香五月婷婷激情97| www激情网站| 日韩久综合| 亚洲精品视频在线| 人人操人人爱丁香五月| 丁香五月偷拍| 久久久五月天婷婷成人网| 伊人狠狠丁香婷婷综合尤物| 天天爱天天做天天爽| 97人妻碰碰碰久久香蕉| 91人妻九色大屁股| 99小视频| 狠狠色丁香五月婷巨| 婷婷天天综合| 精品亚洲VA网站| 激情五月婷| www超碰com| 日本久久婷| 免费五月婷婷网| 色噜噜五月天| 玖玖99婷婷| 99色激| 亚洲色频| 丁香六月丁香婷婷激情| 九月丁香婷婷| 色玖玖导航| 四川BBB搡BBB爽爽视频| 91久久99久久91熟女精品| 日韩免费乱轮网站| av在线免费网站 | 99热这里只有精品免费观看| 久久Xx| 色99久草在线| 九热电影av| 操日本人妻视频| 五月丁香黄色视频| 99热精品中文字幕| 操逼亚洲天堂| 另类激情五月天。| 色婷婷六月精品| 99热这里有精力| 99热在线中出| 激情婷婷人妻| 成人电影一区| 激情五月天99色| 日韩精品无码99| 激情图片婷婷丁香五月| 日产精品久久久久久久蜜臀| 日日噜噜夜夜狠狠久久丁香六月| 99国产在线| 五月丁香大香蕉| 婷色视频| 天堂草在线看www| 99热在线播放| 久久九九玖玖| 国产无人区大片| 91色五月在线观看| 丁香激情婷婷网| 91九色国产在线| 婷婷色在线视频| 天天干夜晚夜操| 综合色视频| 日韩在线五月天婷婷| A久久| 99久久97久久欧美综合网| 久久亚洲婷婷综合色五月| 婷婷五月天色色| 久久99免费视屏| 婷婷十月丁香| 久久ri精品| 天天天添天天操| 农村熟妇高潮精品A片| AV在线免费网站| 色综合天天天天做夜夜| 国产成人片| 天天日日天天| 欧美槡BBBB槡BBB少妇| 91热在线| 国产免费一区二区三区三州老师F1F1.CC | 五月婷综合| 婷婷97色| 丁香六月av| 九九99香蕉在线视频播放| 色婷婷综合影院| 丁香婷婷九月| 六月婷婷日| 日本va欧美va欧美精品88| 五月婷中文娱乐综合| 五月婷婷开心五月| 骚五月婷婷| 色香欲综合| 欧美性爱一区| 91超碰在线观看| 丁香亭亭激情四射| 99热免| 色婷婷久久视屏| 在线观看亚洲AV| 97超碰欧美中文字幕| 色久丁香五| 婷婷97碰碰| 天天日,天天射,天天舔| 五月综合激情| 五月丁香天堂网婷婷| 色啪网| 久久激情视频99| 丁香六月久久| 激情婷婷丁香五月天小说| 婷婷久久综合久| 成人婷婷桔色| 99无码视频| 色亚洲色宗合| 丁香五月天电影| 五月天婷婷黄色视频| 国产真实乱了老女人视频| 婷婷五月天成人影片| 国产操逼视频网站| 日韩色五月| 手机在线日韩视频中文字幕| 久艹大香蕉| sS丁香五月婷婷| 青青草婷婷五月天| 色播五月| 亚洲中文字幕av| 婷婷丁香日韩五月| 99热综合网| 超碰精品在线| 91碰免费视频| 国内在线99视频| 在线婷婷| 26UUU亚洲欧美| 日本色色影院| 97色色色色色| 久久激情五月网| 中字幕视频在线永久在线观看免费 | 婷婷精品在线| 综合网色综合| 色狠狠综合| 97精品人人A片免费看| 色99亚洲| www久| 五月丁香六月婷婷久久久综合| 久久伊人婷| 丁香五月天论坛| 综合久久综合五月天婷婷| 无码色| 伊人99热| 婷婷五月天av小说| A1片久久久| 蜜乳.comcom| 六月婷婷五月丁香| 五月天俺去也| 婷婷五月天综合激情| 五月美女婷婷风骚| 久久网日本| 日韩不卡DvD| 综合天堂AV久久久久久久| 丁香五月婷婷综合网| 婷婷六月丁香五月图区| 性小说五月天| 狠狠色 综合色区| 999激情视频| 亚洲成人无码免费| 婷婷天堂站| 99.色| 亚洲天99| 亚洲无AV在线中文字幕| 五月丁香花开综合网| 97碰碰在线看视频免费| 久久久久久婷| 欧美精产国品一二三区| 另类综合国产| 玖玖五月| 超碰操日| 久操97| AV九九| 99久操视频| 97色色色色色| 久碰视频| 精品9l九九九九九77777| 色婷婷99| 天天爽天天摸| 色婷婷丁香五月天在线视频 | 五月丁香六月婷婷姐| 五月花婷婷在线精品视频| 五月丁香花激情啪啪网| 91久久婷婷人人澡草 | 99re8这里只有精品99re8热视频| 狠狠狠五月婷婷六月丁香| 91九色精品熟女内射| 婷婷激情五月天小说| 密黄站| 丁香六月激情四射| 6080av| av在线观看免费| 大战熟女丰满人妻AV| 五月婷精品| 丁香色五月婷婷| 99综合99| 任你爽精品免费视频6| 99热这里是精品| 久久99热在线观看| 99操逼| 大香蕉久久婷婷| 98热精品| 91黄色五月天视频| 97操碰| 99热在线这里| 丁香五月色情| 热九九精品| 97久人人| 色色97丁香婷婷五月天| 丁香婷婷狠狠97| 激情婷婷五月天| 99无码视频| 五月网在线| 人人干AV| 五月婷中文字幕| 超级久久久| 丁香成人五月天| 色五月成人| 激情五月天婷婷| 五月丁香六月色| 欧美五月丁香| 亚洲激情丁香五月基地| 自拍偷窥99热| 色婷婷久久| 夜色综合网| 久久99大| 波多野结衣不卡AV| 这里只有精品久久| 4399在线日本A片| 色五月首页| 狠狠操狠狠爱| 天天色综网| 色播五月网| 五月丁香影院| 级情九色| 99爱在线免费视频| 五月丁香啪啪综合| 99色视频在线| 色综合丁香婷婷| 五月婷婷色综图片| 97碰| 五月婷婷在线观看黄| 思思国产99| 五月激情婷婷在线| 99视频在线观看网址| 亚洲天天综合| 超碰国产在线观看| 久久五月激情| 天天干天天操天天拍| 婷婷五月在线观看| 国产成人精品一区二三区熟女在线| 欧美色频| 中国女人做爰A片| 青青操日本摸摸看看| 婷婷五月丁香四射| 婷婷综合性爱网| 久久五月婷婷视频| 99热国内精品| 婷婷五月色| 可以免费看av网站| 天天爽天天透天天爱| 午夜激情五月天| h亚洲| 九九色色| 五月丁香激情综合网| 思思热精品在线| 97资源欧美日韩大香蕉超碰一区| 日日天天干| 性做爰1一7伦| 91日本在线免费| 五月丁香网站| 色色色色色五月丁香| 97人妻碰碰中文无码久热丝袜| www·五月天| 天天爽人人爽| 丁香婷婷六月天| 天天色,天天操,天天射| 婷婷成人五月天成人文学小说| 天天色天天色天天色天天色天天色| 婷婷五月天天aV| 婷婷五月天六月综合| 99re鈥哸鈥唙| 精品人妻一区| 久久久aaa| 久久38视频| 久久九九爽| 欧美婷| 色五月婷婷九月| 99热久草| 免费无码毛片一区二区A片| 国产AV一区二区三区最新精品| 大香蕉久久久久久久久| 久人人操| 97黑人精品区| 五月六月丁香激情视频| 日日干综合| 草综合14| BBWCUCKOLD精品熟妇| 成人AV网站在线| 久99热在线观看| 狠狠狠狠狠草| AV网站免费在线| 天天艹夜夜艹| 操97在线观看| 香蕉综合在线| 99亚洲色| 99热久| 丁香五月婷婷操逼| 九月丁香亭亭| 婷婷噜噜| 亚洲丁香五月在线观看| 婷婷开心五月| 激情综合网五月婷婷| 狠狠色婷| 黄色精品五月婷婷| 丁香五月天激情婷婷丁香六月| 免费观看欧美成人AA片爱我多深| 九九99久久| 99人妻碰碰久久久禁片| 欧美久人人| 天天操天天曰天天射| 丁香欧美| 99热.com| 婷婷婷狠狠| 伊人婷婷五月天| 激情网开心网| 久久精品视频在这里有| 五月婷婷无码| 婷婷狠狠18禁久久| 深爱激情久久| 色爱综合网| 婷婷五月色综合香五月| 手机旧版看人妻1025| 日韩av大全| 亚洲成人中心| 99久re热视频精品98| 久久3级片| www.激情在线| 五月丁香成人| 亚洲欧美国产A片免费观看| 午夜美女人啪最红院| 99干视频| 婷婷丁香婷婷97| 操笔无码| 狠狠高潮精品亚洲1| 熟女人妻一区二区三区免费看| 九九视频在线观看视频6| 色婷婷综合久色AV五色最新| 激情五月激情综合网| 五月天丁香婷婷视频网址| 9热在线视频精品| 99色综合| 国产亚洲精品久久一区二区三区| 超碰色碰碰| 久久婷婷五月综合97色一本| 亚洲综合在线播放| 免费看片在线观看| 五月婷无码| 色五月五月婷婷| 婷婷欧美综合| 婷婷丁香人妻天天爽| 少妇人妻丰满做爰XXX| 丁香五月天天| 五月婷色| 亚洲中文AV网站| 99热这里只有精品1025| 播五月丁香三月婷婷| 色吊丝av中文字幕| 级情九色| 丁香五月六月综合欧美| 婷婷久久色| 色情五月天小说| 99热9999| 国产内射婷婷| 伊人久久99| 玖玖五月| 99国产精品久久久久久久久久久| 丁香婷婷五月天色综合| 超碰网站在线观看| 欧美在线视频免费播放| 天天日天天摸| 婷婷六月激情综合| 天天操天天操综合| 91精品婷婷国产综合久久| 99热免费18| 色久综合天天做视频| 欧美五月婷婷| 伊九九三级区| 天天拍天天操| 激情文学第四色婷婷丁香五月| 九九热最新视频| 丁香色影院| 桔色成人在线| 精品一二三区久久AAA片| 思恩热国产视频右线观看| 99re鈥哸鈥唙| 少妇大叫太大太粗太爽了A片| 99精彩视频在线观看| 熟女少妇内射日韩亚洲| 婷婷开心综合人妻小说网址| 青草青青草| 五月婷婷色丁香| 亚洲成人影视在线观看| 亚洲综合视频八| 精品亚洲VA网站| 操操日韩| 激情 婷婷| 九九九九九九九九九九九九九国产精品| 五月婷婷六月基地| 久久丁香婷婷色情综合| 日本va欧美va欧美va精品| 99欧美| 九月婷婷激情| 丁香五月亚综合图片| 色哟呦av| 欧美婷| 久久婷婷一级片| 久热2025无码| 天天爽天天操| 久久婷婷六月综合| 五月婷婷深深爱| 26uuu成人网| 开心五月婷| 天天色五月婷婷91久久久久久久| 丁香五月天在线视频| 极品人妻VIDEOSSS人妻| 超碰AAAAAAV| 开心五月激情网| 色波激情五月天| 五月天激情网站| 99热国产精品| 亚洲成人免费电影| 婷婷午夜综合| 天天色粽合合合合合合合| 久热69| 亚洲五月天婷婷| 天天操天天操| 神马久久五月天| 色五XX| 狠狠色综合网| 福利视频在线播放| 蜜臀av无码久久久久久久久| 激情久久伊人| www.99热| 五月丁香欧美综合| 99性色| 五月婷婷色| 丁香五月综合| 色婷婷丁香五月色综合网| www,setingting| 久婷婷| 99在线er热|