gdb列印資訊1——列印STL和陣列中的內容
阿新 • • 發佈:2018-12-08
一、列印vector內容測試程式碼
#include<iostream>
#include<vector>
using namespace std;
int main(int argc, char* argv[])
{
vector<int> vec(10); // 10 zero-initialized elements
for (int i = 0; i < vec.size(); ++i) {
vec[i] = i;
}
cout << "vec contains: ";
for (int i = 0; i < vec.size(); ++i) {
cout << ' ' << vec[i];
}
cout << '\n';
return 0;
}
測試過程
這裡對cpp檔案,是不需要CMakeLists.txt的,而是使用
g++
命令
然後使用命令
二、列印set內容測試程式碼
#include <iostream>
#include <vector>
#include <set>
using namespace std;
int main(int argc, char* argv[])
{
int arr[5] = {0,1,2,3,4};
set<int> iset(arr, arr+5);
set<int>::iterator ite1 = iset.begin();
set<int>::iterator ite2 = iset.end();
for(;ite1!=ite2;ite1++)
{
cout<<*ite1;
}
cout << '\n' ;
return 0;
}
測試過程
如圖,如果是set,還給你排好序了
其他的stl容器同理
三、列印陣列中的內容
使用命令
print 陣列名
即可
需要注意的是,如果陣列太大了,預設最多會顯示200個元素
可以使用set print elements 0
設定為沒有顯示元素個數的限制
四、列印陣列中任意連續元素值
使用
命令p 陣列名[起始下標]@要列印的個數
五、列印陣列內容的同時顯示下標
預設情況下是不顯示陣列下標的,可以通過命令
set print array-indexes on
開啟