99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜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
返回資訊列表
久久九九婷婷| 欧美人人操| 五月婷综合网| 丁香婷婷五月天校园春色| 狠狠婷婷色| 五月天另类图片| 婷婷六月色开| 久久伊人9| 人妻少妇色综合| 乱色色色| 久久人妻高清中文| 久久五月天黄色五月天色网址| 月丁香久久久| 国产干逼片| 影音先锋一区| 五月天激情婷婷| 热99视频精品| yazhou seshipin| 色五月婷婷激情基地| 五月丁香综合激情| 日本狠狠干| 五月天社区| 丁香涩涩五月天| 97久久久| 久热久色| 五月婷婷 欧美| 亚洲天堂啪啪| 五月色婷婷中文字幕| 国产精品电| www激情| 日日夜夜天天爽| 成人羞羞啪啪 全 视频| 六月婷婷色五月| 丁香婷婷久久 | 国产日韩av片| 大香婷婷| 色哟哟www| 超碰在线播放免费观看| 婷婷五月中文在线视频| 亚洲激情97五月天| 一级片sese片.COM| 99视频精品全部免费看| 99这里的视频都是精品| 色婷婷综合五月| 丁香色六月婷婷| 天天噜天天插| 五月婷婷亚洲综合网| 五月激情日本在线| 五月丁香婷庭在线| 婷婷在线激情| 五月天另类视频| 九月综合| 欧美日韩91| 99久久网站| 五月激情综合网| 九九色色| 99这里都是精品| 涩涩五月天| 99热超碰| 五月激情综合婷婷| 久久婷婷五月综合成人d啪| 丁香五婷| VA国产在线综合网站| www,五月天com| 国产67194| 婷婷五月天黄色| 天堂色婷婷| 亚洲黄色精品| 色婷婷丁香特级性爱视频| 丁香五月婷婷激情视频播放| 亚洲色婷婷五月天| 99热这里是精品| 97人人干| 9视频1在线| 欧美图片丁香五月天| 成人网在线视频| 亚洲中文字幕AV| 欧美噜噜久久久XXX| 五月丁香婷婷成人伊人网| 日日操,天天操| 五月天色婷婷综合| 少妇高潮呻吟A片免费看软件| 亚洲精品国产熟女久久久| 国产69精品久久久久999小说| 97超碰免费超级在线观看| 久热精彩视频98| 激情视频综合| 久久成人精品视频| XX色综合| 国产超碰av| 97日在线视频| 亚洲第一色区| 丰满少妇猛烈A片免费看观看| 久久久久久久91| 影音先锋色婷婷| 五婷婷六月合| 六月色色| www狠狠com| 色噜噜伊人| 99热在线观看亚洲区| 波多野结衣AV无码Porn| 色九四色| wWwCom夜操wwW| 男女久久婷婷五月天| 激情综合五月开心狠狠| 久久黄色片| 丁香五月区| 天天干肏夜夜| 大地9中文在线观看免费高清| 天堂网操| 色青青视频| 99a级片| 国产乱妇无乱码大黄AA片| 91av色色乱视频| 婷婷丁香久久| 欧美色99| www.91婷婷| 丁香久久五月天视频在线观看| 丁香五月激情网| 久久一级AV| www久| 激情婷婷五月天日本系列| 第四色五月天| 99免费成人网| 色色色99| 色播五月婷婷综合| 天天插天天爱| 九月婷婷久久| 婷婷综合网| 色婷婷四色| 另类综合激情| 五月丁香狠狠爱| 日韩精品一区二区亚洲AV观看| 日韩av干| 成人网在线观看视频| 9色在线| 亚洲婷婷免费| 色五月欧美| 激情五月丁香六月综合AVXXXX| 99操逼| 婷婷六月激情| www色婷婷| 在线成人网址| 天天干天天干天天干| 综合视频久久| 五月天色丁香| 婷婷丁香第一页| 4399成人黄A片| 久久99jiu9| 色天天综合成人网| 久久网婷婷| 丁香六月久| 亚洲情欲久久| 色五月五月天色婷婷色五月| 射区导航| 国产精品美女| 五月婷深深爱激情网| 五月色综合| 777久久精品| 五月天色色色| 五月婷婷色综图片| 欧美三级大片AA在线看| 人妻久久久| 激情视频综合| 激情六月婷婷| 欧美激情综合色综合色| 丁香久久九九99| 五月天激情婷婷久久| 日韩在线视频9色| 99亚洲无码| 男人的天堂av俄罗斯热| 五月婷婷久久激情| 色婷婷丁香女女| 欧美综合激情五月丁香| 欧美熟女视频 色婷婷| 天天爽夜夜爽夜爽精品| 99人人操| 99A片| 亚洲九九夜夜| 人妻视频一区而且二区| 久久人人九九| 极品人妻videosss人妻| 97碰在线免费观看| 天天爽天天干| 天天色综网| 成人啪啪色婷婷久| 欧美性猛交 XXXX 乱大交| 五月天性色| 亚洲黄网在线| 色五月婷婷亚洲| 婷婷五日b| 色婷婷狠狠禁久久| 婷婷九月| 91丨九色丨熟女丰满| 婷婷激情四射| 欧美色色日韩| 色色色综合网| 婷婷色在线观看| 久久杏爱视频| 五月天丁香网站| 色99色| 欧美噜一噜| 9色在线视频精品观看| 久久久精品AV| 99热精品在线播放| 激情五月天啪啪| 97操| 九九婷| 99九九久久| 99热精这里只有精品| 97精品综合久久内射| 99热精品中文字幕| 亚洲激情综| 色婷綜合网| 久热69| 国产人妻人伦精品一区二区| 日本不卡中文字幕| 丁香五月天啪啪| 欧美成性色| 一区无码| 五月伊人91| 99精品亚洲| 激情五月天婷婷丁香 | 午夜激情婷婷| 99热色综合| 激情AV| 五月天色综合| 夜夜夜夜撸夜夜操| 天天干天天爽天天操| 色色日韩| 欧美性二区| 国产精品电影网| 香蕉99网| 成人 AV播放| 国产乱人偷精品人妻A片| 久久92| 天天狠狠干| 十月丁香婷婷| 五月婷免费视频久久久| 五月丁香网av| 久久视频这里都是精品| 五月天婷五月天综合网在线观| www.99热视频| 色综合婷婷| 十区AV| 99热免费18| 乱岳熟女50岁| 九日日夜夜69| 久久久香港| 久久人妻超碰一区| 猫咪伊人AV| 中文字幕丰满孑伦无码专区| 色狠狠色噜噜AV天堂五区| 五月丁香综合| 久久精品A片777777| 99综合免费视频| 99精品视频网| 婷婷色五月91啪啪| 丁香婷婷综合色五月激情国产基地| 97色婷婷| 人人草碰| www.黄色片-久久成人国产精品在线播放-999AV | 亚洲三A| 天天射影院| 日日影院 | 国产小精品| 欧美激情综合色综合啪啪五月| 色欲天天综合网| 色色a| 嫩草AV久久伊人妇女超级A| 超碰在线人妻| 五月天丁香婷婷久久九| 操婷婷基地| 99热丁香五月| 天天日天天插天天操| 99色色热| 五月天激情社区| 日本操B视频| 天天做天天爱| 色五月AV| 丁香五月伊人| 欧洲亚洲免费视频9 | 激情丁香久久| 六月色婷婷色| 人妻VideOssS人妻| 亚洲综合视频网| 婷婷爱五月天| 丁香九月色| 丁香香蕉婷婷| 18av天堂| 综合图片色色| 伊人色综合网| 97伊人综合婷婷| 中文精品在| 777久久精品| 2025天天操| 97香蕉久久超级碰碰高清版| 性按摩玩人妻HD中文字幕| 久久爱综合| 中文字幕视频在线播放| 天天爽日日爽夜夜爽| 五月狠狠| 久久久久久久久久久-久五月天婷婷| 亚洲AV电影美洲AV电影| 激情99。| 91色在线/日韩| 五月天久久色| 九九av| 五月天基地| 99久在线| 狠狠久久婷| 久久婷婷丁香五月一二三| 日日夜夜狠狠干| 五月婷婷深深爱| 色情综合网| 亚洲第一av| 99精品这里只有免费视频| 婷婷激情五月天小说校园| 黄色AV日韩| 97人人干视频| wwwxxx五月婷婷小说| 另类小说五月天| 精品夜夜澡人妻无码AV| 久久这里精彩免费在线观看| 色欲久久久久久综合网综合网| 人妻丰满精品一区二区A片| 激情久久丁香| 天天摸色吧天天摸色吧| 国产黄大片在线观看画质优化| 色九月婷婷丁香| 开心婷婷五月天电影院| 激情五月天在线视频| 99玖玖精品| 蜜桃婷婷丁香五月天狠狠久久综合| 色五月亚洲| 亚洲AV日韩在线观看| 草草视频91| 色色国产| 秋霞日本免费毛片A片| 婷婷丁香一月| 日本欧美成人片AAAA| 色婷婷888| 97 A I色色| 嫩草免费视频| www.丁香五月| 五他月天啪啪啪| 五月丁香六月合| 九九無妻| 丁香五月婷婷动漫| 亚洲日本韩国| 激情婷婷狠狠干| www超碰| 婷婷色啪| 亚洲综合激情五月久久| 婷婷色亚洲| 久久色情| 色综合爽| 午夜不卡久久精品无码免费| 极品 少妇 内射| 五月综合激情网| 丁香五月婷婷亚洲色图| 国色天香成人网| 天天操天天操综合| 国内自拍97在线| 2w在线视频| 亚洲狠狠色丁香婷婷综合久久| 色综合播放| 欧洲色区| 婷婷五月18永久免费视频| 欧美日本不卡黄色片| www.俺去也com| 91美女啪啪| 五月丁香六月综合激情无码软件亮点| 五月婷激情影院| 色五月五月婷婷| 天天射美女| 久色网| 女性自慰系列第五页| 久久久久人妻| 久久成人精品视频| 丁香五月777| 色情久久久| 色亚洲无码| 婷婷五月天成人| 我爱va亚洲va52| av一区二区电影免费在线观看| 激情五月婷婷丁香| 色综合激情| 亚洲黄色影视| 色婷婷视频在线| 天天干天天曰天天射| 久久婷婷激情| 婷婷天天综合| 五月丁香琪琪| 秋霞少妇AV网站| 五月丁香婷婷综合| 天天拍夜夜撸| 婷婷丁香五月天大香蕉| 深爱激情五月网| 5月婷婷六月丁香| 色情网综合| 六月激情婷婷| 国语精品探花| 丁香五月六月久久综合| 97男人天堂| 天天狠天天叉| 色吧五月婷婷| 五月丁香日本片| 婷婷五月丁香性爱| 久9视频| 五月情色天| 色五月天激情| 久久色在线视频| 亚洲丁香五月| 我爱大香蕉| 99在线精品免费视频| 久久AV电影| 秋霞A V毛片| 色五月婷婷777| 婷婷五月大香蕉| 这里只有精品99视频| 婷婷五月精品| 五月丁香影视| 99热1| 五月天成人伊人| AV成人在线播放| 日产精品久久久久久久蜜臀| 国产综合色婷婷精品久久| 久久五月丁香激情综合| 色五月色综合| 99在线公开视频| 亚洲国产精品VA在线看黑人| 中文字幕永久在线| 五月天天久久香| 婷婷亚洲丁香五月| 久久66er久久| 色五月综合| 91日精品| 99欧美三级视频| 情欲禁地| 色五月激情五月| 性生活视频98791| 26uuu欧美激情另类| 99这里精品| 美女激情综合| 色综合中文色综合网| 亚洲欧美成人在线观看| 怎么样可以看免费的一级av| 亚洲综合五月天婷婷丁香| 综合一区二区三区| 丁香五月色情| 色综合99无码| 欧美S码亚洲码精品M码| 99色性爰网络| 大香蕉手机视频| 色五月婷婷五月天| 五月天婷婷久久| 九一99| 亚洲成人乱码av网站| 久鲁鲁色网| www.激情| 99热在线爱| 五月婷婷AV| 欧美三级黄色片久久| 热的无码综合视频| 丁香五月宝贝激情网| 久久九九视频网站| 久久黄色网扯| 欧美综合婷婷网| 99无码免费视频| 亚洲中文无码成人| 亚洲激情五月丁香久久久久| 久久综合天天综合| 色综合色色| 久久久噜噜噜久久人妻| 玖玖99免费视频| 五月色色色| 91碰| 激情六月天| 欧美性生交XXXXX无码小说| 国产精品a无线| 中文字幕按摩做爰| 婷婷丁香五月天操逼| 超碰在线资源| 性欧美日本| 婷婷激情肏屄网| 激情五月婷婷免费视频| www.91有码.com| 亚洲久久婷婷| 日本狠狠色| 99综合一区| 中文字幕 中文字幕明步| 五月色网| 91/九色黑人| 国产激情在线| 久久婷婷丁香五月一二三| 激情网站综合五月天| 九九视频精品在线免费| 色播播五月| 亚洲啪啪网| 久久机热/这里只有精品| 96丁香六月婷婷蜜桃综合久久| 操骚货在线| 亚洲偷| 极品另类| 天天爽—爽| 视色综合| 婷婷五月天激情网| 校园春色亚洲色| 成人中文字幕在线| 日日鲁鲁夜夜爽爽| 五月丁香欧美综合| 大香蕉 婷婷| 国产avapp 网| 激情综合六月| 天天日天天操心| 五月天婷婷网站| 欧洲毛片基地c区| 天天狠狠色噜噜| 亚洲AV综合网| 狠狠色婷| 日本成人噜噜噜噜噜| 激情亚洲婷婷| www.婷婷com| 国产va在线视频| 六月婷婷久久| 天天搞夜夜六| 日日日影院| 啊v视频在线观看| 四川女人毛多水多A片| 五月丁香自拍| 亚洲第一精品成人999久久精品| 久久新地址| 五月婷婷亚洲天堂97色婷婷| 深爱女色婷婷丁香五月亚洲图区| 色九月婷婷丁香| 丁香五月婷婷综合啪啪| 激情五月黄色小说| 99热e| 97超碰色| 狠狠五月激情婷婷直播片| 97干在线视频| 色婷婷五月天成人网| 婷婷五月丁香久久| 欧美性生交XXXXX无码小说| 综合久久五月天| 九九热国产| 内射爽无广熟女亚洲| 97婷婷色| 综合色色婷婷| 人人澡玖玖一| 日本一级| 色噜噜狠狠色综合网| 色播五月丁香| 国产精品成人网址| 欧美Va在线| 亚洲精品久久久久AV无码| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 99久久综合| 国产性av| 激情五月天色爱| 中国丰满熟女A片免费观| 国产成人网站在线观看| 久热九九| 操操操操操操婷婷五月天| 亚洲精品电影| 一级黄色影片| 天天艹夜夜艹| 99色最新在线视频| WWW.桔色成人.COM| 色五月婷婷婷婷| 最近中文字幕2019视频1| 成人 在线 日韩| 翔田千里aV中文字幕| 96精品久久久久久久久| 99久久婷婷五月综合| 亚洲六月婷婷| 五月天婷婷AV| 大香蕉综合在线| www.91久久| 六月婷婷色综合| 精品国产va久久久久| 国产免费一区二区在线A片视频| 99久re热视频精品98| 久久久婷| 色情五月天se| 草久私拍| 成人五月天丁香婷| 五月色婷婷综合色| 美女被操一区二区| 五月激情六月丁香| 久久99久久99精品免视看婷婷| 日本片日本片祼观看网站在线看中文版网页在线看| 五月天啪啪视频| 开心婷婷五月| 日日做夜夜爱| 亚洲小电影在线观看黄999| av九九| 琪琪理论片| 熟女强人妻一区二区三区四区无| 久久五月综合| 日本九九九九| 波多野结衣不卡AV| 成人版视频在线观看| 99久久婷婷国产综合精品青桔 | 五月天深爱激情网| 97热精品| AA片在线观看视频在线播放| 日日操日日撸| 婷婷第六色| 九九XX视频| 激情五月丁香六月综合AVXXXX| 久久停停超碰| 岛国在线观看91| 婷婷五月色惰| 丁香六月高清视频| 久热91精品| 国产亚洲精品久久久久苍井松| 天天干天天干天天干天天干天| 日本三级日本三级三级人妇四虎| 三年高清大片免费观看国语| 成人视频在线免费播放| 五月丁综合在线观看| 婷婷 伊人 久久| 午夜精品人妻无码一区二区三区| 免费看欧美成人A片无码| 六月色日韩| 综合 蜜月 婷婷| 大香蕉啪啪啪| 色婷久九| 日日操,夜夜撸| 日本色婷婷| 国产探花一片区| 婷婷六月啪啪| 五月天婷婷无码| 中文AV网站| 婷婷久久亚洲| 性爱电影科技贸易有限公司| 99免费热视频在线| 五月婷性爱| www.狠狠| 1024人妻| 久操综合| 九九热最新| 婷婷五月天亚洲精品| 色色婷婷五月天| 久久久久久久久久婷婷| 99在线视频操999| 久久九九网| 色五月婷婷av| 婷婷五月色激情欧美激情| 日逼免费视频 | 精品自拍99| 国产视频色色色色色色色 | 丁香五月大片| 五月亭亭六月色| 久青操| 99热黄| 九月丁香久久网| 99re在线播放| 国产人妻777人伦精品HD| 国产成人网| 久久综合影院| 夜夜久久综合网| 色色色色网站| 久久综合五月天| 婷婷五月丁香在线视频| 婷婷激情五月色综合| 丁香五月天激情小说| 婷婷五月综合欧美在线播放| 九九热10| 五月丁香六月婷婷免费| 六月丁香综合999| 婷婷亚洲激情在线观看视频 | 99re在线精品视频| 97碰| 日本丁香五月| 免费视频WWW在线观看网站| 五月天色色色| 亚洲乱码日产精品BD| 国产美女无遮挡裸体毛片A片| 激情五月综合| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 久久这里只有国产| 韩国情人在线电视剧免费观看高清版全集| 2015好吊操| 久久只有精| 欧美色骚婷婷五月天| 天天操天天操| 五月婷婷激情四月| 五月天激情婷婷| 91丨九色丨丰满人妖| 生活片五区| 五月丁香六月在线| 日本精品人妻无码77777| 成人做爰A片免费看视频| 五月婷婷色色爱| 激情骚五月| 亚洲网视屏| 干亚洲天堂| 天天檫天天爽| 丁香久月| 激情网五月天| 五月激情久久| 激情久久久| 五月丁香色婷| 久久视频婷婷| 1000部毛片A片免费观看| 91久女| 婷婷射图五月天| 婷婷综合激情五月中文字幕| 蜜乳国产网站| 久久 婷婷 五月天| 人妻内射一区二区在线视频| 九九激情视频| 丁香婷婷六月激情文学| 99综合免费视频| 国产精品日日躁夜夜躁| 人妻丰满精品一区二区A片| 91亚洲天堂| 婷婷激情五月吧| 狠狠五月激情丁香六月| 色五月丁香五月| 999热这里只有美国精品| 亚洲无码成人| 婷婷深爱五月丁香网| 精品99在线| 欧美69久成人做爰视频| 亚洲熟女色| av性爱在线| 99热手机在线精品| 久久九九re热| 成人欧美一区二区三区在线观看| 99热这里只有精品99| 97香蕉碰碰人妻国产欧美| 另类婷婷五月天啪帕帕| 欧美日本综合网| 五月天成人网在线观看| 六月成人网| www九九| 淑女丝袜bi操逼123| 99热这里只有精品4| 五月丁香婷婷激情四射迷人| 亚洲丁香五月天在线视频| 色婷婷综合影院| 青吴乐视频| 亚洲激情淫网| 99综合网| 99色热视频| 五月激情小说网| 国产黄大片在线观看画质优化 | 五月婷婷综合网| 67194中文字幕| 欧美久久婷婷| 第四色在线观看| 韩日在线熟女| 婷婷色中文字幕| 玖玖精品婷婷| www.99成人视频| 国产AV一区二区三区最新精品| 99久.| 五月婷婷啪啪| 97人人操人| 九热视频这里只有精品| 欧美大肥婆大肥BBBBB| 色五月综合| 日本色天堂| 五月丁香综合在线| 婷婷五月综合体验看| 久草x色在线观看99 | 99免费视频| 欧美性交一区二区三区| 五月激情偷拍| 久久精品日| 99九九精品| 色色婷婷婷丁香五月天| 五月天婷婷乱论小说| 激情婷婷五月综合| 无码人妻一区| 久久丁香社| 无码99| 激情五月,激情综合网| 色婷婷亚洲婷婷| 99热在线资源| 亚洲中文字幕AV| 人妻人人操| 深爱五月激情五月| 婷婷五月 丁香六月| 亚洲亚洲人成综合网络| 五月天激情Av| 无码字幕中文| 丁香婷婷激情六月五月开心| 97影院一级片| 思思久久精品| 五月色无码| aV直接看| 五月天婷婷成人| 五月99久久| 色婷操逼| 色婷婷五月天亚洲 | 狠狠色狠狠色综合日日91| www.99成人视频| 激情综合网激情五月天| 99ri在线视频| 色情综合网| 伊人综合网站| 在线看黄色| 123草逼网| 国产在线中文字幕| 五月婷婷六月丁香| 一级二级香港秋霞欧美欧美秋霞| 日韩欧美性爱| 91视频一起草| 97操资源婷婷| 日撸夜撸日操| aaa久久| 五月天色丁香| 狠狠操狠狠狠| 色色色色色五月丁香| 99re8在这里只有精品| 婷婷激情五月天网站| 九九色婷| 99综合久久| www好屌操| 金品在线视频99| 大香蕉五月天婷婷| 天天色综网| 婷婷啪啪| 久久久久久久久18久久| 黄网免费看| 婷婷五月开心中文字幕在线| 丁香五月婷婷五月| 狠狠色综合网| 亚洲男女激情| 五月天激情网图片 - 百度| 男人的天堂av俄罗斯热| AV性爱在线| 99热6色| 久久婷婷五月| 97操| 欧美性猛交99久久久久99按摩| 人人播| 丁香婷婷久久激情| 久草视频一,二三四| 日韩AV中文在线观看| 久久HD| 色五月婷婷很很操| 色综合婷婷99| 少妇人妻丰满做爰XXX| 香蕉久久国产av一区二区| 99热这里只有精品最新| 内射在线CHINESE| 丁香五月天在线视频| www.久久综合| 99婷婷| 99网址在线观看| 日韩抽插操逼| 182tv992tv人之初午夜免费观看| 亚洲操人| 少妇人妻凹凸视频| 国产乱子轮XXX农村| 激情婷婷综合网| 五月综合亚洲| 97超碰婷婷五月天| 狠狠干.com| 求可以看的AV网址| 激情婷婷色色| 婷婷五月丁香欧洲| 密视AV综合在线| 五月天婷婷婷| 五月天开心网| 67194成I人在线观看线路1| 亚洲免费婷婷| 五月天俺去也| 久久五月婷婷开心网| 五月天色婷伊人| 97人人射| 99热99极品观看| 亚洲色区17| 亚洲综合在线伊人婷| 六月丁香婷婷六月激情综合| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 日日干干天天干| 婷婷新网址| 午夜精品人妻无码一区二区三区| 我爱宗和色| 开心婷婷五月| 久久五月婷婷视频| 99九九综合久久九九| 色婷婷五月影视| WWW,激情五月天,COM| 91干视频| 久久丁香五月综合六月激情红杏视频| 日韩无码91| 91干网| 97婷婷五月| 欧美激情-区二区三区| 久久九九热re6这里有精品| 亚洲第一成人无码A片| 国产国产乱老熟女视频网站97| 婷婷色在线播放| 国产免费一区二区三区三州老师F1F1.CC | 丁香五月婷婷社区| 六月婷婷狠狠做| 五月天停停日日| 天天狠狠夜夜狠狠2023| 99热日韩| 五月天婷婷丁香| 91狠狠综合久久久久久| 久热精品免费视频4| 亚洲综合五月天| 青青草成人网| 另类天堂| 99国产小视频免费观看| 伊人久久婷婷五月天激情四射| 婷婷五月天直播| 五月丁香色婷| 天天草比天天爽| 国产精品色婷婷久久久精品| www.久久99热地址发布| 亚洲综合九九| 成人丁香五月| 五月婷三级片| 亚洲人人操| 亚洲精品亚洲人成人网| 色婷婷成人丁香| 国产精品久久久丁香五月八戒视频| cc精品国产性传播| 99九无网码| 人妻人人操| 久久密臀婷婷| 91久久综合亚洲鲁鲁五月天| 亚洲VA欧美VA| 成人超碰Av| 99热老司机| 久久精品国产AV一区二区三区 | 久久久91| 久久综合久色欧美综合狠狠 | 影音先锋色婷婷| 五月天婷婷爱丁香中文字幕| 天天干天天干天天干天天干天| 色色色色综合网| 久久精品无码一区| 五月 激情视频| 人人爱干人人爱草| 丁香五月色欲| 啪啪91| 九月丁香久久网| 色五月天丁香| 婷婷五月深爱五月| 狠狠色婷婷| 任我肏视频精品| 久久色在线视频| 深爱激情丁香五月| 狠狠色综合网| 久久婷综合网| 婷婷的五月天另类视频| 91九色视频在线观看| 疯狂做受XXXX高潮A片| 性色婷婷| 五月天影院| 色婷婷五月综合| 色五月色图| 天天天摸夜夜夜玩| 久热免费| 五月婷久久草| 色播丁香婷婷五月激情| 五月婷婷片| 91日日日| 婷婷六月久久综合导航| 99色在线视频| 97香蕉久久超级碰碰高清版| 丁香婷婷91在线观看视频| 大香蕉丁香五月| 国产片天天爽夜夜爽| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 视频综合网| 亚洲精品视频电影| Aaa久久| 激情播丁香| 日韩无码色色| 日韩操逼大片| 亚洲婷婷欧美婷婷| 依人大香蕉在钱1| 日本在线免费中文com.| 五月香婷婷| 91人人澡人人爽人人看| 五月天涩涩| 国产操B| 激情婷婷综合| 日本99久久| 亚洲婷婷视频| 六月激情婷婷| 中文字幕日韩成人| 久久激情网| 人人操人人添人人摸97| 五月婷婷手机在线| 国产一区二区av免费| 婷婷大美在线| 99精品偷自拍| 色五月婷婷狠狠撸| 99这里有精品视频| 九九99在线观看视频| 激情综合婷婷| www.精品99| 国产成人av在线播放| 99乱视频| 成人av在线网站| 91seav| 超碰91在线| 天天爱天天做天天日| 色色色色色综合| 丁香五月色情| 99热啪啪| 无码G高清天| 风流少妇A片一区二区蜜桃| 激情五月天啪啪| 少妇真实被内射视频三四区| 婷五月丁香| 中文字幕有多少字| 99这里只有精品在线观看| 激情都市另类| 伊人五月成人| 伊人玖玖婷婷| 自拍偷窥99热| 狠狠色丁香五月婷巨| 99爱在线视频| 在线观看玖玖资源免费观看| 影音先锋男人AV资源站| 欧美国产一区二区三区| 九九综合网色全集 | 婷婷五月天桃花网| 五月丁香六月婷婷无码| 97日在线视频| 婷婷综合| 影音先锋 91工厂| 中文字幕成人版| 噜噜狠狠色综无码久久合欧美| 操人久久| 九九热精品视频在线观看| 六月丁香五月激情网| 性爱激情五月| 日日干夜夜干| 天天玩天天摸| 97luluse| 日本女人久久| 国产色婷婷亚洲| 婷婷国产五月天17c| 亚洲在线资源| 五月婷婷天天色| 五他月天啪啪啪| 久久婷婷热| 99热久久最新地址| 色婷婷性爱| 九九热99热| 色综合久久88色综合中文字幕| 婷婷五月丁香激情图片 | 人妻丰满精品一区二区A片| 日本五月婷| 色狠狠五月天| 天啪天啪天啪天啪| 熟女激情网| 国产色色网站网址| 国产综合丁香五月天| 婷婷亚洲色| 久久一二三视频| 激情六月婷婷| 日本www免费九九| 五月丁香婷婷基地| 亚洲综合婷婷五月| 亚洲不卡| 色婷婷狠狠18yy| 亚洲综合激情五月久久| 韩国三级五月天婷婷。| 久久五月丁香| 五月天激情日色在线| 丁香五月成人网| 天天插插天天| 综合激情开心五月| 91在线操| 婷婷丁香成人色综合| 丁香五月色| 噜噜视频| 天天做天天要天天爽| 五月天婷婷伊人| 日韩ww| 丁香五月激情综合| 丁香狠狠色婷婷久久无码视频| 九九精品在线视频观看| 日本99婷婷| 日本人妻伦在线中文字幕| 五月婷婷熟女| 激情五月色播五月| 婷婷六月网| 色五月首页| 伊人婷婷五月天av| 黄色片avv| 九九这里只有精品| 99人人干| 免费看欧美成人A片无码| www.日本久久videos| 丁香九月久久| 久色网五月| 婷婷五月激情中文字幕| 黄桃AV无码免费一区二区三区| 色五月综合| 九色视频91| 性生活久久人妻| 色综合色色| 成人va在线| 伊人玖玖网| 91婷婷| 97资源碰碰| 伊人在线视频| 99在热线免费视频| 国产高清精品色| 五月天激情网址| 色激情综合狠狠婷婷| 国产操碰| 一级性感黄色内射视频| 14色综合婷婷| 婷婷六月色情| 9色免费网| 男人的天堂在线婷婷| 亚洲五月六月婷婷| 成人片黄网站色大片免费毛片| 五月色综合| 色色五月天婷婷| 色优久久| 五月激情六月丁香| 操91| 日日夜夜狠狠| www.天天干| 欧洲第一无人区观看| 91九色丨国产丨爆乳| 操日视频| enecarbon-materials.com污K127封锁请涟系@wip1688 | 五月天婷婷婷| 婷婷丁香熟女| 婷婷五月丁香综合| 五月停亭久久电影| 国产精品视频| 色色色免费视频| 婷婷色五月婷婷姐妹| 91综合在线| 九九色逼| 婷婷 久综合| 天堂婷婷五月色| 亚洲国产精品成人va在线观看| 色色日韩无码| 第四色首页| 狠狠狠色激情综合适合| 久久色亭亭五月天| www.婷婷六月天| 99久久9| 九九在线视频| 亚洲精品无人区| 99热最新国内| 五月婷婷六月丁香首页| 九热免费视频| 五月婷婷六月丁香| 激情播丁香| 99爱在线视频观看| 亚洲第一综合| 欧美人妻一区二区| 搡BBBB搡BBB搡五十| 成人AV片播放| 99精品久久久久| 色五月丁香五月激情五月激情| 另类综合激情| 五月天啪啪| 五月丁香六月婷| 激情五月婷婷| 色 五月 天 婷婷 丁香 九月| 色九月欧美| 亚洲五月天第一综合干| 婷婷五月天激情影片| 激情婷婷五月综合| 五月色婷婷AV| 天天舔日日肏夜夜爽| 99热这里只有精品在线播放| 婷婷丁香五月婷婷| 婷婷五月天网| 涩丁香91| 热久久91| 中文国产五月天| 超碰三级片| 婷婷色在线| 久久久久久久久久久久63| 五月丁香六月香香蕉| 爱草视频在线观看| 婷婷五月天社区| 色偷偷AV亚洲男人的天堂| 4399欧美另类视频| 影音先锋女人av鲁色资源网小说免费 | 五月天婷婷色色网| 五月婷婷成人网首页| 婷婷五月激情六月| 九九无码| 一本九九色| 久久6这里只有精品| 涩涩五月天| 国产XXXX搡XXXXX搡麻豆| 婷婷丁香五月天影院| 日日干干天天干| 99热久久这里只有精品| 99rewww| 五月丁香六月婷婷在线播放| h亚洲| 九色综合网| 99黄色性生活| 思思精品视频| 成人做爰高潮A片免费视频| 六月婷婷七月丁香| 99热99热99热99热| 性爱久久| 五月天操逼网| 日日插日日干| 亚洲精品无码一区二区| 欧美色99| 99久久久| 亚洲欧洲中文日韩久久AV乱码| 玖玖婷婷综合| 丁香六月无码播放| 欧美丰满熟妇BBB久久久| 91se在线视频| 久色激情| 婷婷久久色| 日本va视频| 噼里啪啦完整版中文在线观看| 亚洲欧美成人在线| 开心激情站| 久久ri精品视频| 五月丁香综合久久| 9色在线| 草综合网| www.91久久| WWW.久久久久久久| 五月婷婷开心网| 大香伊人婷婷影院| 深爱激情网五月天| 91av传媒高清在线视频网| 热的国产99热| 玖玖资源在线视频| 99自拍网| 色婷婷狠| 热99精品视频五月| 激情图片婷婷丁香五月| 欧美在线视频9| 天天干天天色综合| 一本狠婷婷综合| 99热这里只有精品18| 丝雨一区二区| 婷婷色成人| 丁香五月伊人| 五月花婷婷丁香| 日逼影音先锋男人资源站| 婷婷激情丁香六月| 开心五月婷婷伊人| www,99热| 综合久久伊人| 26uuu成人网| 久久久久久久久久91| 九月丁香亭亭| 色婷婷五月影视| 丁香六月综合激情|