[分享] gdb列印stl的內容

看板C_and_CPP (C/C++)作者 (human)時間15年前 (2011/05/26 11:16), 編輯推噓1(103)
留言4則, 3人參與, 最新討論串1/2 (看更多)
之前使用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

05/26 12:04, , 1F
在我的 fedora 下 gdb 一直可以印 stl 的東西說
05/26 12:04, 1F

05/26 13:00, , 2F
直接打print no,就可以看到內容嘛
05/26 13:00, 2F
※ 編輯: angleevil 來自: 61.220.204.217 (05/26 13:44)

05/26 20:35, , 3F
你的ps()其實用 print line.data() 就可以了呀 @.@
05/26 20:35, 3F

05/26 21:34, , 4F
我在請問一下vector list map,要怎麼列印? 有相關的文章
05/26 21:34, 4F
文章代碼(AID): #1DtSO6Tv (C_and_CPP)
文章代碼(AID): #1DtSO6Tv (C_and_CPP)