欧美成人午夜精品久久久,国产?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热九九九九| 激情综合久久| 香蕉国产2013| 久久美女五月天| 日本三级中国三级99人妇网站| 国产乱妇乱子在线播视频播放网站| 五月婷婷说| 91狠狠色丁香| 亚洲亚洲人成综合网络| 久久99网站| 五月开心啪啪| 婷婷久久国产视频| jiujiu热在线视频| 狠狠爱激情网| 久久婷婷人人| 久久综合五月婷婷| 亚洲无码猫咪| 丁香婷婷浪潮AV久久综合| 丁香狠狠色婷婷| 丁香色播五月天| 久久视频婷婷| 日本精品干| 女人被躁到高潮嗷嗷叫小| 大香蕉久热| 狠狠激情五月天| 色五月天激情| 日韩999| 色婷婷狠狠禁18久久| 亚洲AV免费在线| 激情五月婷婷色| 五月丁香爱婷婷深深| 精品99在线观看| 影音先锋自拍网| 色色国产| 99网| 99热10在线高清播放| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 久久人妻视步| 久久婷婷五月天激情唯美| 久久激情综合| 亚洲综合在线伊人婷| 黄色一级影片| 色婷婷狠狠18禁| 碰碰碰91| 9999三级片| 五月激情婷婷国产精品久久久久久| 日日干四虎| 337p大胆噜噜噜噜噜91Av| 久久婷婷综合五月趴| 天天操夜夜夜拍拍拍| 婷婷激情中文综合| 九九热免费观看视频| 婷婷五月天国产精品| 丁香五月天狠狠操| 婷婷亚洲日本| 五月天久久成人| 国产99视频永久免费| 成人色五月天婷婷| 热这里| 亚洲射激情| 色播丁香五月婷婷操:屄| 亚洲另类电影| 天天色五月| 性小说五月天| www.操.com| 五月综合婷婷五月| 91成人视频| 欧美 日韩 成人在线| 玖玖爱资源站| 成人做爰黄A片免费看直播室男男| www.色婷婷.com| 亚洲综合色色色| 丁香九月激情| 天堂网操| 欧亚洲在线高清视频| 色就是色婷婷五月亚洲激情| 激情五月天色婷婷综合| 91一起艹| 九九草草逼| Caoub青青超碰 | 99色在线视频观看| 中国激情网| 亚洲久久婷婷| 永久免费一区二区三区| 91精品综合久久久久久五月丁香| www.ywav| 天天日天天添| 亚洲视频99| 色五XX| 丁香五月欧美午夜视频| 日本色婷婷| 伊人婷婷大香蕉在线| 丁香色色五月| 九九精品这里只有| 免费看欧美成人A片无码 | 国产精品成人AV在线观看春天 | 色综合色香蕉网| 久久久久久18| 第六色在线| 色激情五月| 久久伊人9| 99九色视频在线观看| 婷婷综合激情| 丁香激情久久| 色色色综合色| AV网址大全在| www夜夜操wwwcon| 久久九九99| 碰久久精品w| 99热主页日本| 狠狠干五月天| 99热每日| 夜夜做天天爽| 婷婷色播婷婷| 婷婷综合激情| 操逼视频一区| 婷婷五月天精品| 国产五月丁香在线| 久久伊人五月天| 久久婷婷七月丁香| 新99色色色色色色| 五月天国产| 日韩久久日| 亚洲性受XXXX五月丁香| 婷婷久久亚洲| 狠狠人妻色综合| 十月丁香九月婷婷综合| 桃色五月婷婷| 99视频在线观看视频| 日本视频99| 五月婷婷性爱网| 韩日在线熟女| 九九99九九99| 五月丁香啪啪综合| 99久.| 五月天堂六月丁香亚州中文字幕久久| 亭亭五月天黑人2014| 九九aV| www.9797国产| 成人五月丁香社区| 性韩日色婷婷五月天激情啪啪XXX| 欧美色99| 婷婷色播色五月五色五月天色妇| 2018国产大陆天天弄| 91性高潮久久久久久久久| 亚洲综合网在线| 日批在线看| 日韩成人AV在线| 91久久综合亚洲噜噜成人在线 | 任你爽免费视频| 无码yw| 久久综合五月天| 另类图片五月天激情| 开心五月天激情| 99精品偷自拍| 在线1青婷| 色婷网站| 在线成人视频免费| 丁香五月婷婷亚洲人| 亚洲熟女色| 五月天天综合| 婷婷久草| 狠狠的日| ay2区| 五月丁香婷婷成人网| 一本久久亚洲五月婷婷| 午夜福利成人AV91| 色色色999| 99精品久久久| 三级片AAA久久久AAA久久久AAA | 狠色狠色狠狠色综合网| 欧美久久九九| 五月开心激情| 五月丁香狠狠| av色婷婷| 一本久久婷婷| 精品久久99码| 五月婷婷六月开心| AV伊人青草丁香六月| 成人无码精品1区2区3区免费看| 激情五月com| 热婷婷av| 久久99热这里只有精品| 性99网站| 99小视频在线| 69精品无码一区二区三区| 久久久无码精品成人A片小说| 9久久精品| 99热| 婷婷五月天奸女| 九九热视频网站| 婷五月天影院| 国产亚洲在线观看| av在线免费网站 | 丁香婷婷六月激情文学 | 色播五月网| 色情播放| 久久九九99| 欧美大片免费观看| 五月开心激情| 99热这里都是精品| 狠狠色婷婷六月激情网| 五月天婷a在线| 9999热精品| 五月天婷婷久久视频| 。久久久久久久久久久久久久人妻 | 五月份婷婷| 午夜伊人大香蕉| 久久婷婷综合网| 五月天五月婷五月激情网| 婷婷五月天中文字幕| 丁香五月成人| 亚洲九九夜夜| 狠狠爱激情网| 99狠狠| 天天久久综合| A一级操| 99色五月| 99久久五月天| 色婷婷精品视频在线播放| 婷婷激情五月综合| 欧美六月| 99九九热视频| 久草狼人| 狠狠操天天干| 五月天婷婷久久| 欧美婷婷五月天综合| 操操操操操操婷婷五月天| www. 五月. com| 99精品偷自拍| 欧美三级巜人妻互换| 色婷婷久久综合中文久久一本| 这里只有精品在线观看视频| 色婷婷婷婷五月天| 久久这里有精品| 99色热视频| 婷婷五月天美女| 91疯狂操操操操| 超级久久久| 日韩黄在免| 91超级碰| 嫩BBB搡BBBB榛BBBB| 婷婷久久大香蕉| 色五月婷婷色五月婷婷色五月婷婷| 思思热99在线| 婷婷情色激情| 天天插天天干| 婷婷五月天丁香| 五月丁香激情综合啪啪| 色五月激情网| 任你草| 亚洲免费看片| 五月婷三级片| 99啪在线视频| 色婷婷av在线| 国内裸舞二区| 射久久丁香五月| 亚洲狠狠狠| 狠狠干五码| 色五月丁香在线| 99只有这里是精品| 国产精品久久久海的味道| 天天爽日日爽夜夜爽| 热99精品视频| 久久精品99久久久久久| 激情综合网五月婷婷| 激情五月综合网| 日本三级大片| 99久操视频| 玖玖九九超碰| 久久久99免费视频| 国产亚洲精品人人| 激情五月天伊人av| 久久综合五月天| 久久这里只有精品8| 亚洲va综合va国产va中文| 99热在线播放| 婷婷va| 激情九月综合| 婷婷五月丁香六月天亚洲综合| 五月天社区狠狠| 天天艹夜夜艹| 99国产精品白浆在线观看免费| 99婷婷狠狠成为人免费视频| 婷婷五月天丁香社区| 丁香五月天网站| sisi热国产| 久久人妻系列| www久久99| 乱精品一区字幕二区| 99久久欧美| 99亚洲精美视频在线观看| 激情五月天视频| 青青操avbb| 久噜久噜| 五月天综合网| 激情四射婷婷色色色| 色狠狠激情五月| 99热这里只有免费| 丁香五月综合| 激情六月丁香| 欧美丁香婷婷五月天| 六月婷婷综合| 欧美婷婷丁香五月| 79成人网| 五月开心久久| 国产精品色婷婷99久久精品| 亭亭五月天成人| 色情五月综合婷婷| 久久久久久久久久久44| 婷婷六月天激情影院| 九九热婷婷| 国产精自产拍久久久久久蜜 | 亚洲六月婷婷| 色婷婷啪啪| 六月亚洲婷婷6月中文字幕| 伊人啪啪网| 99久热| 无码九九九九| 五月丁香六月综合激情无码软件亮点 | 五月丁香久久综合精品| 开心五月网 | 狠狠操狠狠操AV| www. 五月. com| 婷婷六月丁香久| www..999热久| 免费看无码视频A级| 天天天天天操| 成人做爰A片免费看视频| 丁香五月婷婷大香蕉| 五月丁综合在线观看| 久久人人看| 九九中文字幕九| 狠狠狠激情网| 96自拍视频九色在线观看| 色色色欧美| 精品久热69| 涩丁香91| 日本婷婷色日| 99热精品网| www色中色综合| 蜜臀AV在线观看| 婷婷午夜| 色情五月综合婷婷| 激情综合网婷婷久久| 99re这里| 婷婷五月天改成什么了| 在线日韩视频| 色人五月婷婷| 久久久国产精品黄毛片| 久久久久99精品成人片| 亚洲岛国电影| 激情五月婷婷丁香| 婷婷天堂视频| 天干夜夜操| 免费观看亚洲AV片| 色婷网| 激情丁香婷婷五月天| 激情五月天视频| 丁香六月婷月91婷月| 日本九九九九| 婷婷玉月丁香五月在线视频| 色综合网页| 日本不卡五月婷婷丁香| 91久草五月天婷婷| 色婷婷欧美| 人人操99| 精品国产一区二区三区四区阿崩| 亚洲国产精品综合色区| 日韩大片艹艹| 亚洲黄色影视| 99re思思热这里| 97色 五月天丁香| 婷婷五月天综合小说网| 人妻久久婷婷| 国产3p露脸普通话对白| 真实亲子乱子伦高清在线观看| 亚洲综合成人网站| 色色色色色色网站| 丁香六月天婷婷开心综合| Www.久久| 天天婷婷综合亚洲亚洲| 五月激情基地| 超碰色色综合| 性做久久久久久久免费看| 综合色色婷婷| 六月丁香综合| 日韩在线观看网址| 五月婷啪啪| 26uuu淫色| 超碰免费人人肏| 丁香五月成人| xxx综合在线| 免费成片在线观看| 99无码精品| 自拍盗摄 另类| 4399在线日本A片| 96精品成人无码A片观看金桔| 五月激情久久综合网| 99碰网站| 亚洲AV日韩在线观看| 大香蕉99热| 天天人人天天爽| 五月丁香久久婷| www色色com| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 婷婷大香蕉| 激情五月天婷婷视频| 91久久久久久久91| 亚洲综合五月天婷婷| 大香蕉网站,大香蕉综合| 激情综合色五月六月婷婷| www.色色com| 99在线精品视频| 五月婷婷天天| 色婷婷狠狠久久综合五月| 久久多色| 狠狠色网| 国产97在线日韩亚洲女人被黑人巨大| 久久免片| 97人妻碰碰碰久久香蕉| 久久久精品人妻录| 久久ER视频com| 操逼三区| 久久五月情| 国产XXXX搡XXXXX搡麻豆| 五月丁香激情综合啪啪| 五月婷婷综合精品| 开心五月丁香啪| 亚洲色啪| 午夜成人AV在线| 久久综合九色综合88i| 九九在线精品| 色色色网站| 少妇人妻人伦A片| 婷婷五月丁香六月天亚洲综合| 99热这里在线精品| 99综合视频一体| 日本久久人| 美女视频图片久久91| 99热在线观看| 日本99久久| 五月丁香最新| 国产综合丁香五月天| 狠狠五月婷婷| 色婷婷狠狠禁18久久| 97人人草| 国产又粗又大又爽又黄| 欧美激情综合色综合啪啪五月| 日本91在线| 精品久热69| 天天爽天天日| 91视频精品99| 久操操| 九九色婷婷| 亚洲综合无码| 丁香婷婷深情五月亚洲| 色色五月婷| 日日爽夜夜爽| 丁香六月天| 99热最新网址| 艹B高清无码| 国产无套精品一区二区| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 五月婷婷丁香六月| 色综合色五月| 婷婷六月色| 色色亚洲| 婷婷五月丁香国产| 日韩一级网站| 五月丁香婷婷色色| 97色五月天| 色五月婷婷开心| site:ornaments52.com| 色狠久| 激情五月天视频| 色五月欧美| 五月天综合久久| 欧美精品999| 婷婷丁香六月影视| 五月婷婷开心综合| 亚洲色图五月丁香| 99热思思| 99热大| 久久综合综合久久| 天天综合天天做天天综合| 综合五月天天天天天五月| 国内精品玖玖| www.91操| 国产婷伊人| 亚洲精品中文字幕成人片| 天天日夜夜欢| 久久五月婷婷开心网| 人人爽欧美婷婷久久久五月丁香| 婷婷无码视频| 狠狠婷婷色综合| 伊人婷婷五月天av| 日本精品。999| 国产婷婷五月天| 五月丁香91| 国产亚洲成AV人片在线观黄桃 | 激情五月丁香在线观看直播| 91视频五月丁香| 99爱在线视频| aaaa.黄| 伊人五月天综合网| 激情五月天综合婷婷网| 五月婷婷色色| 日韩在线观看亚洲| 久久性爱网站| 丁香五月激情婷婷| 色五月色开心开心五月| 天天插天天插天天操| 综合五月激情网| 人人澡玖玖一| 亚洲视频在线网| 色综合网上班开心婷婷久久| 综合婷| www.色99| 婷婷色五月色| 亚洲视频在线观看| 97操操操| 思思精品视频| 五月婷久久久久综合| 婷婷天堂综合| 99热思思| 91在线视频观看午夜福利| 五月婷婷五月天| 另类激情五月天| 婷婷五月综合在线| 大香蕉精品视频| 婷婷激情五月色综合| 久久99久久99久久99人受| 国产亚洲99久久| 伊人狠狠操| 九九色色| 色婷婷五月天激情| 久久婷婷色| 天天爱天天做天天操| 69五月天视频| 久久总和99| 久久色五月天综合网| 婷婷五月在线视频| AV操逼网| 久久999久久999久久999久久| 丰满少妇猛烈A片免费看观看| 久久综合干| 99热首页| 国产午夜精品一区二区| 婷婷爱五月天| 极品少妇婷婷五月| 综合激情网激情五月。| 999热在线观看视频| 婷婷久久视频| 久久人妻视频| 激情网 五月天| 亚洲综合激情五月久久| 久操热| 91精产一区三区免费观看| 黄色AAAAA| 亚洲精级| 色狠久| 1024在线观看免费视频| 久久这里只| 国产亚洲99久久精品熟| 色色色色av色色色色| 97操碰在线97| 日本高清综合网五月丁香| 伊人大香久久| 五月天丁香成人| 五月婷啪啪| 亚洲视频五区| 只有精品在线观看| 人妻丰满精品一区二区A片| 五月丁香六月婷婷综合网| 午夜成人片400| 日韩久久这里只有精品| 四季日韩AV无码综合| 深爱激情六月天| 日韩国产在线免费观看| 丁香色五月 97干| 99色色爰| 婷婷丁香九色| 婷婷爱五月| 人人操AV| 在线观看免费视频| 2025色婷婷| 91人操| 99热这里只有精品在线| Va另类视频| 九九热青青草| 伊人久久婷婷| 这里只有精品在线播放| 欧美色碰| 性爱视频久久| 久久婷婷六月综合综合色| 99热综合色图| 天天做天天爱天天高潮| 婷婷五月乱交换| 日本天天操| 男人的天堂999| 久久99最新地址| 亚洲天堂色色| 91精品熟女| 99热人人操人人操| 人人摸人人搞| 五月丁香六月婷婷在线| 99热这里在线精品| 伊人久久大香| 日日操天天操| 久久综合影院| 五月天激情综合10p| 中文字幕av在线播放| 97操碰| 亚洲天堂aaaa| 天天干天天日日| 综合激情肏逼网| 精品成人无码A片观看香草视频| www.婷婷五月| 天天综合天天玩夜夜玩天天玩夜夜玩 | 日本人妻丁香婷婷久久寝取熟女五月| 婷婷色情五月| 婷婷五月综合国产精品| 99热这里只有精品3| 久久这里有| 99色啊| 成人综合视频在线| www.久操| 黄网在线免费| 狠狠干在线| 天天做夜夜爽| 五月婷婷啪啪网| 九月丁香婷婷综合激情| 色婷婷狠| 五月丁香成年黄色| 9久9久9久女女女九九九一九| 激情综合婷婷| 在线播放中文字幕| 操操自拍| 五月天久久91| 色播五月丁香| 久久久区区一久久久久久| 色婷婷五月天亚洲| 99在线精品观看99| 九九热10| 久碰婷婷视频| 色9月| 一区操| 久久五月婷天天干| 91打屁股免费看| 色综合色色| 天天搞天天爽| 怡红院 久久| 色综合狠狠色| 久久五月婷婷视频| 免费啪啪啪网站| 91女人18毛片水多国产| BlACKEDRAW视频一区二区| 亚洲欧洲中文日韩久久AV乱码| 婷婷俺去也| 五月丁香激情啪啪| 99热这里精品| 大香蕉五月天| 中字幕视频在线永久在线观看免费| 99热碰碰热| 色色色综合| 五月欧美丁香在线观看| 99色网站| 五月欧美色色五月| 丁香五月激情综合在线观看| 日本美女天天日天天爽| 亚洲婷婷开心五月| 婷婷激情综合无月| 五月天婷婷色小说| 婷婷免费无视频| 激情小说之五月| 欧美综合丁香网| anquye五月| 色综合久久88色综合中文字幕| 婷婷综合精品| 99在线er热| 激情婷婷丁香五月天小说| 激情五月天婷婷激情| 99热欧美在线观看| 欧美色色色| 色色色色色爱| 五月天成人免费视频| 婷婷久久丁香| 五月婷婷,六月丁香| 欧美在线视频99| 99精品自拍视频| 日韩aaa| www.天天干| 狠狠色综合五月人人| 97综合视频在线| 天天干天天干天天干| 99久在线观看| AA片在线观看视频在线播放| 婷婷色色亚洲| AV动漫不卡无码免费| 五月丁香啪啪啪| 色色操| 五月天激情美女久久| 被男人添B超爽视频| 久婷婷久草| 日韩在线观看亚洲| 五月天婷婷色播综合在线| 婷婷久久六月费| 丁香五月天社区| 99欧美| 91人人爱| 91色操| 综合热无码| 可以看的AV| 婷婷91| 亚洲中文字幕在线电影| 激情综合啪啪| 大香蕉院线| 婷婷五月天无码| 婷婷五月天精品| 久久99最新地址| 免费观看亚洲AV片| 婷婷五月天免费| 人人操91| 99九九这里有免费视频| 婷婷丁香五月天综合AV| 天天干天天叉| 99热亚洲| 天天综合网~91综合网| 99热视精品| 亚洲综合成人网| 97亚洲精品| 婷婷丁香射射| 99热精品99| 狠狠精品干练久久久无码中文字幕| 激情九九六月激情免费视频| 五月丁香六月欧美综合| 婷婷视频网| 丁香操逼| 婷婷天天综合| 九九久久网| 天天综合网~91综合网| 激情久久综合网| 超碰人人在线| 久久婷婷五月天激情四射| 特级片神马电影| 99爱精品| www.cao.com久久| 五月丁香婷婷激情| 欧美va亚洲va| 天天插天天插天天插天天插| 涩五月丝袜婷婷| 日本在线噜噜| 亚洲精品99| 五月婷婷黄色| 色丁香五月天| 五月丁香花视频| 丁香五月天天高清在线| 亚洲色就是色色色| caobi四区| 激情五月天视频| 伊人狠狠丁香婷婷综合尤物| 婷婷五月天AV| 31色区视频免费看| 综合五月网| 5月丁香美女影院| 日日做天天操夜夜爽| 久久香蕉影院| 第四色五月激情网| 九九热最新视频| 婷婷偷拍网| 伊人干综合| 9久视频| 综合激情在线视频| 色色色区| 天天肏高清在线| 伊人玖玖精品| 狠狠干综合网| 综合色五月| 九九热视频99| 97人人草| 天天操天天曰| 国内裸舞二区| 九九精品热| 亚洲婷婷五月草久| 五月丁香婷婷综合| 激情综合自拍五月婷婷色五月| 亚洲综合色色| 26uuu国产色| 99久久综合网| 99久久这里只有精品免费官网| 婷婷丁香五月天激情| 婷婷五月成年人| 99re在线播放| 婷婷五月18永久免费视频| 天天日夜夜| 26uuuuuuuu国产| 琪琪狠狠干| 97色色综合| 久久天堂女人| 超碰在线成人| 任你操精品免费| 丁香五月在线播放| 丁香五月色| 色婷婷六月| 蜘蛛女侠2003满天星免费观看| 丁香五月激情月| 思思色播| 欧美在线视频99| 无月播播激情在线观看视频| 日韩 mm 不卡| 精品久久人妻| 久久这里只有国产精品视频| 激情伊人网| 五月天婷婷在线播放| 99热青青草原| 99ri视频在线观看| 五月婷婷av| 国产精品色色色色| 99在线免费视频| 婷婷中文字幕| 日本va欧美va国产激情| 久久激情视频99| 中文字幕操比影片| 婷婷色色丁香五月天| 狠狠五月天婷婷| 丁香五月婷婷久久久| 五月天婷婷在线AN| 亚洲欧洲色色| 久久色9| 成人片黄网站色大片免费毛片| 激情五月婷婷丁香综合网| 日韩操人| 97碰碰草| 伊人久久婷婷| 人人操五月天| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片| 中文字幕av网站| 丁香五月天视频| 五月丁香天堂网| 女人天堂av| 蜜乳人妻一区二区三区| 2025神马午夜福利| 色婷操逼| 色婷狠狠| 五月亭亭六月激情| 婷婷久久久| 夜色.cnm| 黄色片久久| 成年人丁香五月| 五月天亚洲色| 俺去也在线视频| 婷婷丁香六月| 91免费看片| www免费在线视频| 99这里只有精品|v| 丁香五月欧美| www夜夜操com| 99热这里只有在线播放| 亚洲啪啪视频| 天天色中文字幕女优AV| 大地资源色婷婷视频在线 | 91成人视频| 丁香六月婷婷色XXXXX| 99 频99热国里只有精品| 五月丁香啪啪综合网| 黄色激情网站在线观看| 成人亚洲精品久久久久| 欧美黄色AA片哗啦啦啦| 91九色|疯狂|高潮|对白|| 五月丁香六月综合基地| 五月综合缴情网| 久久黄色免费视频| 99热思思久| 成人一区在线观看| 97久久超级| av婷婷丁香| 91人人人人人| 性按摩玩人妻HD中文字幕| 99热国产免费| 五月婷婷色| 99性视频| 丁香六月婷婷| 五月天久久久| 久久这里只有精品99| 九九99香蕉在线视频播放| 亚洲欧美另类在线23p| 丁香六月视频免费观看| 就爱干 在线| 五六月丁香激情视频| 五月丁香色婷婷婷基地| 97色色色视屏| 99热这里只有精品国产免费| 好好日激情五月天| 丁香五月激情啪| 久久久久久久97| 亭亭五月丁香综合欧美| 91se在线视频| 激情五月婷婷免费视频| 婷婷第六色| 天天日日天天| 色婷婷五月天激情久久| 五月天激情婷婷丁香| 久思思久视频| 亚洲 在线 性爱| 五月丁香婷婷三级| 色五月在线观看| 2017狠狠干| 99热99干| 专区无日本视频高清8| 亚洲乱码日产精品BD| 20253AV| 超碰av天堂| 欧美 日韩 成人 在线| 九九热99re8热免费观看| 天天做天天视天天谢| 欧美天天性| 玖玖资源站蜜臀| 五月丁香六月婷婷激情网| 久久婷婷热| 五月婷婷深深爱| 5月丁香美女影院| 激情色情五月天| 欧美精品99| 激情丁香社区| 香蕉AV777XXX色综合一区| 激情淫乱男女| 色久女| hd五月婷婷在线| 狠狠草狠狠草| 天天做天天爱| 婷婷在线五月综合| 婷婷五月激情欧美| 激情五月婷婷伊人| 中文乱子伦视频| 色婷婷电影| 九九在线热九九在线热99热| 欧美婷婷精品激| 综合久| 狠狠狠狠狠操| 亚洲av网站| 国产精品激情AV久久久青桔| www.99免费视频| 99久热在线精品| 九九爱激情| 五月丁香六月婷婷姐| www狠狠| 20253AV| 中文字幕在线观看视频www| xfplayav在线| 内射综合网| 高清资源站日A美A欧亚…| 任我鲁这里有精品视频| 五月婷婷久久爱| 超碰在线精品| 97超级碰人人| 激情丁香婷婷六月天| 国产婷婷色综合AV蜜臀AV| 婷婷深爱五月| 99热99在线精品| 狠狠色性| 久久婷婷五月天| 色五月色情| 丁香五月在线伊人| 超碰在线9| 色色色激情网| 亚洲国产色婷婷| 日韩aaaaa| 天堂美国久久| 五月婷婷六月激情在线| 91成人看片| 97成人视频| 亚洲天堂亚洲色色色| 五月丁香啪综合| 狠狠色狠狠色综合日日91| 婷婷在线观看五月天在线视频| 天天操夜夜操| 老师高潮流白浆喷水的A片| www。狠狠干。com| 亚洲综合久| 五月婷婷亚洲色图| 亚洲五月天婷婷在线| 六月丁香五月婷婷| 九九99免费理论| 操操自拍| 综合精品啪啪| 99热这里只有精品最新| 中文字幕成人| 久久欧洲久久| 久久久这里有精品| 美女黄频aⅴ视频| 99精品无码| 日本97在线看片| 婷婷丁香激情五月天色色| 精品人妻午夜一区二区三区四区| 丁香六月综合激情| 大香网伊人久久综合| 嫩草国产| 欧美狠狠色| 国产肏屄大片| 五月开心激情| 99资源在线| 婷婷色狠狠| 极品五月天| www99热| 97超碰9久热婷婷热| 激情网五月婷婷| 丁香婷婷激情四射五月| 五月丁香久久呀| 色六月 婷婷| 天天摸日日舔狠狠添婷婷婷| 国产精品久久久久9999小说 | 婷色天堂| 丁香久久久| 伊人久久丁香五月91| 久久视频在线| 99久久天堂婷婷| 亚洲av骚货| 免费播放片大片| 日本久久精品18| 久9热| 五月丁香六月婷| 蜜乳.comcom| 九九99精品免费播放| 色宗合久久五月婷婷| 五月天天综合网色婷婷| 久热这里| 色情五月天丁香社区| 99操| 5月丁香婷婷| 国产在线aaa片一区二区99| 99热这里只有精品 搜| 依人大香蕉在钱1| 国产欧美va| 日本人妻A片成人免费看片| 婷婷综合激情| 五月天激情Av| 婷婷黄色五月| 99久久久久久www| 五月天色色色| 天天色综网| 欧洲激情五月天婷婷| 色色色com| 激情图片五月天| 色五月激情视频在线综合| 国产成人AV| 五月天婷婷爱| 激情五月丁香五月| 婷婷99视频在线| 天天干天天干天天操| 超碰人人艹| 丁香五月婷婷网| www.五月天婷婷姐姐| 六月色婷婷综合影视| 97碰| 天天干-天天日| 精品亚洲国产成AV人片传媒 | av久热| 开心四月婷婷在线色播播| 91主播在线| 99热免费在线| 日韩色情亚洲五月天婷婷| 五月丁香婷婷成人版| 疯狂做受XXXX高潮A片动画| 噜噜噜久久亚洲精品国产品91| 超碰99热| 色婷婷五月天在线观看| 狠狠色噜噜| 五月天婷婷色五月天| 丁香影院五月综合| 五月激情婷婷在线| 日本婷婷色日| 婷婷第六色| 国内久久亭亭| 超碰婷婷色| 97干97色| 欧美成人A片AAA片在线播放| 五月丁色AV| 九九综合88| 性爱久久| 五月婷婷影院| 性生活久久人妻| 久久五月六月| 婷婷性爱网| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | xxx日本东京热| 五月天激情图片| 亚洲AV成人无码精品| 色色热| 日本99在线| 丁香五月23111| 婷婷欧美色| 91大神操美女| 亚洲精级| 精品亚洲国产成AV人片传媒| av大香蕉| 四月婷婷五月丁香| 夜夜撸日日骑| 激情婷婷丁香色情五月天| 亚洲视频码| 97高清国语自产拍| 久久婷婷成人综合色怡春院| 人妻久久久久久久| 色五月视频无码播放| 99热免费网站| 99综合| 日韩精品超碰在线观看| 丁香六月成人网| 色黄啪啪| 教师性爱毛片| 婷婷情色开心五月天99| 国产精产国品一二三在观看| www狠狠| 97碰久久| 色哟哟精品| 日韩aaaaa| 亚洲综合五月| 婷婷五月天播播| 深爱1激情网| 亚洲欧美另类在线23p| 亚州精品久久久久AV无码| 激情婷婷五月天网址| 99在线观看这里都是精品| www.激情在线| 色八月婷婷| 成人色色综合| 天天在线久久综合 | 79色色色色| 五月丁香花激情综合网| 婷婷性爱无码视频| 婷婷狠狠五月综合| 狠狠五月激情婷婷直播片| www.97碰碰com| 狼人狠狠操| www.zbzhongsen.com| 丁香婷婷婷| 久久色午夜在线导航| 密臀av无码人妻精品| 91色在线 | 日韩| 久re热视频| 丁香六月啪啪啪| 精品思思久久| 女性自慰系列第五页| 这里只有精品,日韩视频| 天天日日天天| 五月天激情网址| 开心五月深爱五月丁香五月激情五月| 深爱激情六月| 欧美五月丁香| 99热亚洲| 另类小说色婷婷| 亚洲精品久久久久久久久久飞鱼 | 开心五月综合激情网| 操一区| 婷婷五月天亚洲天堂| 天天摸日日舔狠狠添婷婷婷| 激情五月天色婷婷| 五月天婷婷綜合院| 色婷婷免费观看| a久久| 91久久久久| 九热视频在线精品15| 99热国产| 五月色婷婷AV| 另类小说色婷婷| 五月停停色色丁香| 亚洲婷婷五月天| 97成人视频| 中文色婷婷| 婷婷久久国产视频| 亚洲色网络| 国产毛片精品一区二区色欲黄A片| 婷婷色在线| 综合激情九月婷婷,激情综合婷婷中文字| 91嫩草久久| 另类图片天天影视在线观看| 伊人六月无码视频| 久久久久久人妻| 国产综合婷婷| 国产99久久久国产精品免费看| 亚洲av成人一区二区电影在线| 激情综合婷婷| 五月丁香六月婷婷免费| 99热这里只有精| 国产精品人成A片一区二区| 红桃91人妻爽人妻爽| 91性高潮久久久久久久久| 婷婷激情网五月天| 一区二区三区视频| 婷婷五月花| 变态另类9| www.狠狠干com| 五月丁香成人| 热99色| 天天插天天插天天操| 丁香六月婷婷综情欧美| 五月天成人综合| 超碰在线观看三级片| 久久五月丁香婷婷| 激情网五月婷婷| 狠狠狠狠狠狠| 日本nghangse中文字幕| 色播五月婷婷综合| 五月婷婷六月丁香玖玖玫瑰91| 日韩婷婷| 九九狠狠干| 久久这里有精品视频| 欧美色色色| 丁香婷婷五月综合| 人妻操在线看| 五月天丁香| 激情五月婷婷丁香综合网| 丁香五月婷婷六月婷婷| 婷婷五月天影视首页| 不卡在线视频| 五月婷婷性爱| www,超碰| 婷婷日本在线| 99久久综合网| www色色色com| 大香蕉中文| 婷婷五月天成人小说| 97久久人人人干| 色五月大香蕉| 综合网啪| 伊人久热91网| 久久婷婷色| 91碰碰视频| 男人天堂AV在线一区二区| 人妻精品久久久久久久| 色色日本| 五月天婷婷av| 超碰com| 婷婷五月天你懂的| 五月天激情AAAA| 无码少妇高潮喷水A片免费| 欧美性爱五月天| 9l视频自拍9l视频自拍九色学生| 超碰99热精品在线| 5月婷婷六月丁香| 欧美精品中文字幕亚洲专区| 五月丁香怕怕综合| 久久99精品视频| 五月丁香琪琪| 九九九九综合| 天天婬色综合| 国产精品蜜臀99| 久久人妻在线| 国产无套精品一区二区| 伊人狠狠色婷婷综合丁香一区| 婷婷五月综合激情免费| 91操女| 五月成人天| 超碰2021| 色五月第四色| 伊人9草在线观看| 五月丁香五月婷婷| 青青草原爱爱网| 丁香五月天激情免费在线观看AV777| 91猫咪国产在线播放| 五月天成人小说| 九九热99精品| 久热亚洲|