如何在VS Code中为C++文件的所有函数设置断点?
在VS Code中实现类似gdb
rbreak file.cpp:.*的功能 当然可以,有两种最直接的方式实现给单个文件所有函数设置断点的需求:
1. 调试会话中直接执行gdb命令
启动调试会话后,打开「调试控制台」面板(调试界面底部),直接输入:
rbreak file.cpp:.*
回车后,gdb会自动为file.cpp里的所有函数设置断点,效果和原生gdb中执行完全一致。
2. 配置launch.json自动执行该命令
如果希望每次启动调试时自动为目标文件设置断点,可以修改.vscode/launch.json的调试配置,添加setupCommands字段:
{ "version": "0.2.0", "configurations": [ { "name": "g++ - 生成和调试活动文件", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "text": "rbreak file.cpp:.*", "ignoreFailures": false } ], "preLaunchTask": "C/C++: g++ 生成活动文件" } ] }
text字段填入要执行的gdb命令ignoreFailures设为false时,若命令执行失败会弹出提示;如果目标文件可能不存在,可设为true忽略错误
另外,VS Code的「函数断点」功能虽可手动添加单个函数断点,但批量设置所有函数时,上述两种方法的效率远高于手动操作。
内容的提问来源于stack exchange,提问作者gaurav
相关产品推荐
相关产品推荐

