如何在CodeBlocks监视窗口调试复杂C++ STL(如vector<vector<int>>)
解决CodeBlocks中二维vector调试显示异常的问题
针对你遇到的CodeBlocks调试vector<vector<int>>时无法正常查看、仅一维vector能显示的问题,给出几个可行的解决办法:
手动使用GDB命令查看
调试过程中打开CodeBlocks的「Debugger Console」,先输入set print pretty on开启格式化打印,再输入print v,就能展开二维vector的嵌套内容,查看里面的元素。安装STL可视化插件
在CodeBlocks的「Plugins」菜单中打开「Plugin Manager」,搜索并安装STL Debugger Visualizer插件,安装完成后重启CodeBlocks,就能在监视窗口正常显示二维vector的结构和元素。切换到VSCode调试(竞赛允许的情况下)
VSCode配合GDB对嵌套STL容器的调试支持更完善:- 安装C/C++官方扩展
- 配置编译任务(使用
g++ -std=c++11 -g 源文件名.cpp -o 可执行文件名) - 启动调试后,直接在监视窗口输入变量名
v,就能看到展开的二维vector内容。
应急手动打印调试
竞赛中如果调试工具受限,可临时编写打印函数输出二维vector内容:void print2DVector(const vector<vector<int>>& vec) { for (const auto& row : vec) { for (int num : row) { cout << num << " "; } cout << endl; } }在
main函数中调用print2DVector(v),通过控制台输出查看元素。
内容的提问来源于stack exchange,提问作者fruitshell
相关产品推荐
相关产品推荐

