您的位置:首页 > 汽车 > 新车 > seo标题优化关键词怎么选_深圳设计网页制作公司_友情链接有用吗_百度在线使用网页版

seo标题优化关键词怎么选_深圳设计网页制作公司_友情链接有用吗_百度在线使用网页版

2025/1/8 13:30:06 来源:https://blog.csdn.net/weixin_41496173/article/details/144989497  浏览:    关键词:seo标题优化关键词怎么选_深圳设计网页制作公司_友情链接有用吗_百度在线使用网页版
seo标题优化关键词怎么选_深圳设计网页制作公司_友情链接有用吗_百度在线使用网页版

在使用 VS Code 调试 C++ 程序时,我们经常遇到查看 std 容器或字符串变量时只显示一串数字而看不到实际值的情况。这是由于调试器未启用 pretty-printing 功能导致的。为了解决这个问题,可以在 launch.json 中进行配置。
在这里插入图片描述

问题描述

在调试 C++ 程序时,例如查看 std::stringstd::vector,调试窗口中可能显示的内容如下:

std::string = { _M_dataplus = { _M_p = 0x600001e0b580 <<string> } }

这样的显示方式对开发者并不友好,无法直观了解变量的值。

解决方案

通过配置 VS Code 的 launch.json 文件,可以启用 GDB 的 pretty-printing 功能。

以下是具体步骤:

  1. 打开你的 VS Code 项目。
  2. 找到项目中的 launch.json 文件。如果没有该文件,可以通过点击 运行和调试创建 launch.json 文件 自动生成。
  3. launch.json 的配置中,加入以下内容:
"setupCommands": [{"description": "Enable pretty-printing for GDB","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "Register libstdc++ pretty printers","text": "python import sys;sys.path.insert(0, '/usr/share/gcc/python');from libstdcxx.v6.printers import register_libstdcxx_printers;register_libstdcxx_printers(None)","ignoreFailures": false}
]
参数说明
  • Enable pretty-printing for GDB:
    • 通过 GDB 内置命令 -enable-pretty-printing 启用格式化输出。
  • Register libstdc++ pretty printers:
    • 通过 Python 脚本加载 libstdc++ 提供的格式化输出功能,确保 GDB 能正确解析和显示 std 容器中的内容。
    • '/usr/share/gcc/python'libstdc++ Pretty Printers 的路径。根据你的系统环境,这个路径可能不同。
完整示例

以下是一个完整的 launch.json 配置示例:

{"version": "0.2.0","configurations": [{"name": "GCC Debug","type": "cppdbg","request": "launch","program": "${workspaceFolder}/your_program","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "/usr/bin/gdb","setupCommands": [{"description": "Enable pretty-printing for GDB","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "Register libstdc++ pretty printers","text": "python import sys;sys.path.insert(0, '/usr/share/gcc/python');from libstdcxx.v6.printers import register_libstdcxx_printers;register_libstdcxx_printers(None)","ignoreFailures": false}]}]
}
验证效果
  1. 保存 launch.json 文件。
  2. 重新启动调试会话。
  3. 当你在调试窗口中查看 std::stringstd::vector 等变量时,应该可以直接看到其具体内容,而不是一串难以理解的内部数据。
注意事项
  • 如果你的系统中 libstdc++ Pretty Printers 路径不是 /usr/share/gcc/python,需要根据实际路径进行修改。可以通过以下命令检查路径:
    find /usr -name "printers.py"
    
  • 确保 GDB 和 GCC 版本兼容,且安装了调试符号表包(如 g++-<version>-dbg)。

通过以上配置,可以大大提升 VS Code 调试 C++ 程序时的开发体验,轻松查看变量内容!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com