作者angleevil (human)
看板C_and_CPP
標題[分享] gdb列印stl的內容
時間Thu May 26 11:16:20 2011
之前使用c++時,
發現到string宣告的物件,
gdb無法直接用print列出內容(會印出它的class結構),
ex:
string line="this is a test";
(gdb)print line
因此google gdb string.
找到兩個方法
1.呼叫函式去顯示內容
#include <iostream>
..略...
void ps(string& s)
{
cout << s << endl;
}
int main()
{
string no;
..略...
}
(gdb)call ps(no)
2.擴增功能(網路有分享此問題的解決辦法,只要建立.gdbinit和輸入網站上的內容即可)
http://www.yolinux.com/TUTORIALS/src/dbinit_stl_views-1.03.txt
ps:
當然,我只有找到改進printf的文章,關於display的文章,如果有人找到,希望分享一下喔^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.220.204.217
→ akasan:在我的 fedora 下 gdb 一直可以印 stl 的東西說 05/26 12:04
→ angleevil:直接打print no,就可以看到內容嘛 05/26 13:00
※ 編輯: angleevil 來自: 61.220.204.217 (05/26 13:44)
推 cole945:你的ps()其實用 print line.data() 就可以了呀 @.@ 05/26 20:35
→ angleevil:我在請問一下vector list map,要怎麼列印? 有相關的文章 05/26 21:34