[{"data":1,"prerenderedAt":367},["ShallowReactive",2],{"doc-\u002Fdocs\u002Ftutorial\u002Feduwin-debug":3},{"id":4,"title":5,"body":6,"description":359,"extension":360,"meta":361,"navigation":362,"path":363,"seo":364,"stem":365,"__hash__":366},"content\u002Fdocs\u002Ftutorial\u002Feduwin-debug.md","VS Code 断点调试",{"type":7,"value":8,"toc":347},"minimark",[9,13,22,25,30,60,64,82,92,96,102,120,126,139,143,157,178,196,203,207,211,214,228,231,237,337,340,343],[10,11,5],"h1",{"id":12},"vs-code-断点调试",[14,15,16,17,21],"p",{},"eduwin 支持在 VS Code 中直接按 ",[18,19,20],"code",{},"F5"," 进行断点调试。本教程将介绍如何配置和使用。",[23,24],"hr",{},[26,27,29],"h2",{"id":28},"_1-前提条件","1. 前提条件",[31,32,33,49],"ul",{},[34,35,36,40,41,44,45,48],"li",{},[37,38,39],"strong",{},"VS Code"," + ",[37,42,43],{},"C\u002FC++ 扩展","（发布者 Microsoft，扩展面板搜索 ",[18,46,47],{},"C\u002FC++","）",[34,50,51,54,55,48],{},[37,52,53],{},"Visual Studio Build Tools"," 已安装调试器组件（安装教程见",[56,57,59],"a",{"href":58},"\u002Fdownload","下载页面",[26,61,63],{"id":62},"_2-配置说明","2. 配置说明",[14,65,66,69,70,73,74,77,78,81],{},[18,67,68],{},".vscode\\"," 目录位于项目根目录下，其中已提供 ",[18,71,72],{},"launch.json"," 和 ",[18,75,76],{},"tasks.json","（",[18,79,80],{},"pub.bat"," 打包时已包含），解压即可用。结构如下：",[83,84,89],"pre",{"className":85,"code":87,"language":88},[86],"language-text","your_project\u002F\n├── .vscode\u002F\n│   ├── launch.json      ← 调试器配置\n│   └── tasks.json       ← 编译任务配置\n├── samples\u002F\n│   └── menu_demo\u002F\n│       ├── menu_demo.c\n│       └── build_debug.bat   ← 调试专用编译脚本\n├── eduwin\u002F\n│   ├── include\u002Feduwin.h\n│   └── lib\u002Feduwin.lib\n","text",[18,90,87],{"__ignoreMap":91},"",[26,93,95],{"id":94},"_3-使用步骤","3. 使用步骤",[14,97,98,101],{},[37,99,100],{},"第一步","：在 VS Code 中打开项目根目录。",[14,103,104,107,108,115,116,119],{},[37,105,106],{},"第二步","：在左侧文件浏览器中",[37,109,110,111,114],{},"点选你要调试的 ",[18,112,113],{},".c"," 文件","（如 ",[18,117,118],{},"samples\\menu_demo\\menu_demo.c","）。",[121,122,123],"blockquote",{},[14,124,125],{},"这一步很重要——调试器会根据当前选中的文件来确定编译哪个程序。",[14,127,128,131,132,134,135,138],{},[37,129,130],{},"第三步","：按 ",[18,133,20],{},"（或点左侧 Run and Debug → 绿色播放按钮），VS Code 会自动调用 ",[18,136,137],{},"build_debug.bat"," 编译，然后启动调试。",[26,140,142],{"id":141},"_4-build_debugbat-怎么用","4. build_debug.bat 怎么用",[14,144,145,146,149,150,152,153,156],{},"目前只有 ",[18,147,148],{},"samples\\menu_demo\\"," 下提供了 ",[18,151,137],{},"。如果你想给其他示例加调试支持，复制 ",[18,154,155],{},"samples\\menu_demo\\build_debug.bat"," 到对应示例目录，只改两行：",[83,158,162],{"className":159,"code":160,"language":161,"meta":91,"style":91},"language-bat shiki shiki-themes github-light github-dark","set SOURCE=你的源文件.c\nset PROGRAM=你的程序_debug.exe\n","bat",[18,163,164,172],{"__ignoreMap":91},[165,166,169],"span",{"class":167,"line":168},"line",1,[165,170,171],{},"set SOURCE=你的源文件.c\n",[165,173,175],{"class":167,"line":174},2,[165,176,177],{},"set PROGRAM=你的程序_debug.exe\n",[31,179,180,186],{},[34,181,182,185],{},[18,183,184],{},"SOURCE"," 改为你要调试的源文件名",[34,187,188,191,192,195],{},[18,189,190],{},"PROGRAM"," 随意，加 ",[18,193,194],{},"_debug"," 后缀即可",[14,197,198,199,202],{},"其他内容不用动（",[18,200,201],{},"\u002FZi \u002FOd \u002FDEBUG"," 都是调试必需的编译选项）。",[26,204,206],{"id":205},"_5-调试技巧","5. 调试技巧",[208,209,210],"h3",{"id":210},"设置断点",[14,212,213],{},"在 VS Code 中，点击代码行号左侧的空白处即可设置断点（红点）。建议在以下位置设断点：",[31,215,216,222,225],{},[34,217,218,219,48],{},"回调函数入口（如 ",[18,220,221],{},"on_click",[34,223,224],{},"事件处理逻辑的关键分支",[34,226,227],{},"需要观察变量的位置",[208,229,230],{"id":230},"调试面板",[14,232,233,234,236],{},"按 ",[18,235,20],{}," 启动调试后，可以使用：",[238,239,240,256],"table",{},[241,242,243],"thead",{},[244,245,246,250,253],"tr",{},[247,248,249],"th",{},"操作",[247,251,252],{},"快捷键",[247,254,255],{},"说明",[257,258,259,272,285,298,311,324],"tbody",{},[244,260,261,265,269],{},[262,263,264],"td",{},"继续",[262,266,267],{},[18,268,20],{},[262,270,271],{},"运行到下一个断点",[244,273,274,277,282],{},[262,275,276],{},"单步跳过",[262,278,279],{},[18,280,281],{},"F10",[262,283,284],{},"执行当前行，不进入函数",[244,286,287,290,295],{},[262,288,289],{},"单步进入",[262,291,292],{},[18,293,294],{},"F11",[262,296,297],{},"进入函数内部",[244,299,300,303,308],{},[262,301,302],{},"单步跳出",[262,304,305],{},[18,306,307],{},"Shift+F11",[262,309,310],{},"跳出当前函数",[244,312,313,316,321],{},[262,314,315],{},"重启",[262,317,318],{},[18,319,320],{},"Ctrl+Shift+F5",[262,322,323],{},"重新启动调试",[244,325,326,329,334],{},[262,327,328],{},"停止",[262,330,331],{},[18,332,333],{},"Shift+F5",[262,335,336],{},"停止调试",[208,338,339],{"id":339},"查看变量",[14,341,342],{},"调试时，将鼠标悬停在变量名上即可查看当前值。也可以在左侧「变量」面板中查看所有局部变量、监视表达式和调用堆栈。",[344,345,346],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":91,"searchDepth":174,"depth":174,"links":348},[349,350,351,352,353],{"id":28,"depth":174,"text":29},{"id":62,"depth":174,"text":63},{"id":94,"depth":174,"text":95},{"id":141,"depth":174,"text":142},{"id":205,"depth":174,"text":206,"children":354},[355,357,358],{"id":210,"depth":356,"text":210},3,{"id":230,"depth":356,"text":230},{"id":339,"depth":356,"text":339},"eduwin 支持在 VS Code 中直接按 F5 进行断点调试。本教程将介绍如何配置和使用。","md",{},true,"\u002Fdocs\u002Ftutorial\u002Feduwin-debug",{"title":5,"description":359},"docs\u002Ftutorial\u002Feduwin-debug","5OK4182rhAOKOHaZXw39II5UR-ALqBPhkrkJEq3UUv8",1782488679846]