c++gdb单步调试输出std::vector类型
时间: 2023-07-26 08:47:05 浏览: 144
C++/C语言 课程实践作业:图书管理信息系统
在gdb中进行单步调试时,您可以使用以下命令来输出`std::vector`类型的内容:
1. 使用`print`命令和循环打印每个元素:
```c++
(gdb) print vec
$1 = std::vector of length 5, capacity 5 = {1, 2, 3, 4, 5}
```
可以看到,这个命令输出了整个vector,包括长度,容量和每个元素的值。
2. 使用`print`命令和范围for循环打印每个元素:
```c++
(gdb) print vec
$1 = std::vector of length 5, capacity 5 = {1, 2, 3, 4, 5}
(gdb) set $i = 0
(gdb) while ($i < vec.size())
> print vec[$i]
> set $i = $i + 1
> end
$2 = 1
$3 = 2
$4 = 3
$5 = 4
$6 = 5
```
这个命令首先使用`print`命令输出整个vector,然后使用循环和`print`命令逐个输出每个元素的值。
以上两种方法都可以在gdb中输出`std::vector`类型的内容,但是建议使用第一种方法。因为它更简单,更直观,而且可以一次性输出整个vector的内容。
阅读全文