首页  >  文章  >  后端开发  >  如何在 GDB 中打印 C 向量的元素?

如何在 GDB 中打印 C 向量的元素?

DDD
DDD原创
2024-10-27 19:53:30503浏览

How to Print Elements of a C   Vector in GDB?

在 GDB 中打印 C 向量的元素

在 GDB 中调试 C 代码时,您可能需要检查向量的内容。要使用整数向量 (std::vector) 执行此操作,请按照以下步骤操作:

打印整个向量:

print *(myVector._M_impl._M_start)@myVector.size()

此表达式访问向量内部数组 (_M_impl._M_start) 的指针并打印指定数量的元素 (myVector.size())。

仅打印前 N 个元素:

print *(myVector._M_impl._M_start)@N

将 N 替换为要打印的元素数量。

说明:

  • 指向内部数组的指针是存储在 _M_impl._M_start 中。
  • 打印从指针 P 开始的数组的 N 个元素的 GDB 命令是: print P@N。
  • 向量的总大小可以使用 myVector 获得.size().

注意:此方法可能会因您的编译器版本而异。对于GCC 4.1.2,此方法已经过测试有效。

以上是如何在 GDB 中打印 C 向量的元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn