锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
鍦↙inux鎴栬匴indows涓嬮潰錛屽啓濂戒唬鐮侊紝g++緙栬瘧錛岃繛鎺ワ紝璋冭瘯錛屼竴鍒囧緢欏虹晠銆?br />
浣嗘槸鍦∕ac涓嬮潰錛屾湁鐐瑰皬闂銆?br />
鎴戜滑濡傛灉鏄洿鎺ョ紪璇戠敓鎴愬彲鎵ц鏂囦歡錛?br />g++ test.cpp -g -o test
ok錛屾垜浠敤GDB璋冭瘯錛屾病鏈夐棶棰樸?br />浣嗘槸濡傛灉鎴戜滑鍒嗕袱姝ワ紝緙栬瘧鍜岃繛鎺ュ垎寮鐨勮瘽錛?br />g++ test.cpp -g -c -o test.o
g++ -o test test.o
榪欐鎴戜滑gdb test鍐嶈皟璇曪紝浼氬彂鐜癎DB鎵句笉鍒拌皟璇曠鍙蜂俊鎭紒
涓ゆ鐢熸垚鏈変粈涔堜笉鍚屽憿錛?br />涓嬈$紪璇戠敓鎴愮殑test錛屾梺杈規湁涓涓猼est.dSYM錛岃屽崟鐙繛鎺ョ殑test錛屾病鏈夎繖涓?br />
test.dSYM灝辨槸璋冭瘯絎﹀彿淇℃伅銆?br />瑕佹兂鐢熸垚榪欎釜涓滆タ錛屼篃綆鍗曪紝榪愯dsymutil灝卞彲浠ヤ簡錛?br />dsymutil test
鍐嶇劧鍚庯紝灝卞彲浠ョ敤GDB欏哄埄璋冭瘯浜嗐?br />
g++鐩存帴鐢熸垚鍙墽琛屾枃浠剁殑鏃跺欙紝浼氬府鎴戜滑璋冪敤涓嬈symutil錛屼絾鏄崟鐙繛鎺ョ殑鏃跺欏嵈涓嶄細鍋氳繖涓紝榪欏氨鏄犳垚宸埆鐨勫師鍥犮?img src ="http://www.shnenglu.com/newclear/aggbug/193994.html" width = "1" height = "1" />
]]>
鍙槸涓鐩翠互鏉ラ兘娌℃湁瑙佸埌榪欎釜涓滆タ璧蜂綔鐢紝鏈榪戝氨鐮旂┒浜嗕竴涓嬨?/p>
鎴戠殑鐜鏄疢ac Mountain Lion + macports錛孏CC 4.7錛孏DB 7.5
棣栧厛錛屾寜鐓?/p>
http://sourceware.org/gdb/wiki/STLSupport
涓嬭澆checkout STL鐨刾retty printer銆?/p>
璁劇疆濂?gdbinit浠ュ悗錛岃繍琛屽憡鐭ュ凡緇忔敞鍐岋紝涓嶈兘閲嶅娉ㄥ唽銆?/p>
$locate printers.py
鍙戠幇鍦?opt/local/share/gcc-4.7/gcc-4.7.1/python/libstdcxx/v6宸茬粡鏈変竴浠界幇鎴愮殑浜嗐?/p>
濂藉惂錛屾垜浠氨浣跨敤鐜版湁鐨勫ソ浜嗐?/p>
鍐欎釜紼嬪簭錛岃皟璇曪紝print錛屾庝箞鍥炰簨錛熻繕鏄笉鎴愶紵
澶存檿浜嗗ソ涔咃紝濂藉湪python鐨勬簮鐮佹槸鍙互闅忎究鐪嬮殢渚挎敼鐨勶紝浜庢槸鍦╬rinters.py閲岄潰鏀規潵鏀瑰幓錛岃皟璇曚簡鍗婂ぉ錛屽彂鐜幫細
榪欎釜printers.py娉ㄥ唽浜嗗ソ澶歴tl綾誨瀷鐨刾rinter錛屾墦鍗板嚭鏉ユ湁浠ヤ笅榪欎簺錛?/p>
std::__cxx1998::__7::unordered_multiset
std::tr1::unordered_multiset
std::unordered_set
std::tr1::unordered_multimap
std::tr1::__7::weak_ptr
std::__7::bitset
std::__cxx1998::multiset
std::bitset
std::forward_list
std::__7::forward_list
std::__cxx1998::forward_list
std::__7::_Rb_tree_iterator
std::__7::list
std::__debug::unordered_multimap
__gnu_cxx::slist
std::__7::priority_queue
std::__debug::map
std::_List_const_iterator
std::__debug::unordered_map
__gnu_cxx::_Slist_iterator
std::set
std::__cxx1998::__7::_Deque_const_iterator
std::__7::_List_const_iterator
std::__7::multiset
std::shared_ptr
std::__7::queue
std::__cxx1998::_List_iterator
std::tr1::unordered_map
std::__7::vector
std::__debug::queue
std::__norm::_Deque_const_iterator
std::__7::unordered_set
std::__norm::_Deque_iterator
std::__cxx1998::_Deque_iterator
__gnu_cxx::__7::_Slist_iterator
std::__cxx1998::list
std::__cxx1998::__7::list
std::unordered_multimap
std::__cxx1998::unordered_multiset
std::__cxx1998::__7::_List_iterator
std::__7::map
std::__debug::vector
std::tr1::__7::unordered_set
std::__7::basic_string
std::weak_ptr
std::__7::set
std::__7::unordered_multiset
__gnu_cxx::__7::__normal_iterator
std::__cxx1998::__7::vector
std::unordered_map
std::list
std::tr1::__7::unordered_map
std::__7::unordered_multimap
std::vector
std::tr1::unordered_set
std::_List_iterator
std::__7::_Deque_iterator
std::__cxx1998::map
std::__cxx1998::bitset
std::__7::weak_ptr
std::__cxx1998::vector
std::__cxx1998::unordered_set
std::priority_queue
__gnu_cxx::__7::slist
std::__7::_Rb_tree_const_iterator
std::_Deque_const_iterator
std::__7::deque
std::__cxx1998::set
std::__cxx1998::__7::bitset
__gnu_debug::_Safe_iterator
std::tr1::__7::unordered_multimap
__gnu_cxx::__normal_iterator
std::__cxx1998::__7::multiset
std::__cxx1998::__7::unordered_map
std::__debug::unique_ptr
std::__cxx1998::_List_const_iterator
std::_Deque_iterator
std::tr1::__7::unordered_multiset
std::unordered_multiset
std::__cxx1998::__7::unordered_multimap
std::__debug::multiset
std::tr1::weak_ptr
std::__cxx1998::_Deque_const_iterator
std::__cxx1998::unordered_map
std::__7::unique_ptr
std::__debug::list
std::__debug::unordered_multiset
std::__cxx1998::deque
std::_Rb_tree_const_iterator
std::__debug::bitset
std::queue
std::tr1::__7::shared_ptr
std::__debug::unordered_set
std::tr1::shared_ptr
std::__cxx1998::__7::_List_const_iterator
std::__cxx1998::__7::_Deque_iterator
std::__cxx1998::__7::map
std::__7::stack
std::unique_ptr
std::__cxx1998::__7::deque
std::map
std::__7::multimap
std::stack
std::__debug::stack
std::_Rb_tree_iterator
std::multimap
std::__norm::_List_const_iterator
std::__debug::multimap
std::__norm::_List_iterator
std::deque
std::tuple
std::__cxx1998::unordered_multimap
std::basic_string
std::__7::tuple
std::__debug::deque
std::__debug::priority_queue
std::__7::_Deque_const_iterator
std::__7::shared_ptr
std::__cxx1998::__7::multimap
std::__debug::forward_list
std::__7::unordered_map
std::__debug::set
std::__cxx1998::__7::unordered_set
std::__cxx1998::__7::set
std::__7::_List_iterator
std::__cxx1998::multimap
std::__cxx1998::__7::forward_list
std::multiset:
鐒跺悗錛屾垜浠殑涓涓畝鍗曠殑string綾誨瀷錛屼紶鍏ュ埌python鐨刲ookup閲岄潰鏌ユ壘錛屾壘涓嶅埌錛?/p>
鏈鍚庡彂鐜幫紝string綾誨瀷浼犲叆python浠ュ悗鐨刡asename鏄痓asic_string錛屾病鏈夊墠闈㈢殑namespace錛?/p>
浜庢槸錛屽湪Printer綾葷殑add_version鍑芥暟閲岄潰錛屽鍔犱竴琛?/p>
self.add(name, function)
淇濆瓨錛岄噸鏂版墦寮GDB錛岃皟璇曠▼搴忥紝OK浜嗭細
(gdb) p s
$1 = "great"
(gdb) p v
$2 = vector of length 5, capacity 8 = {"a1", "a2", "a2", "a3", "a4"}