Data type GDB command
std::vector<T> pvector stl_variable
std::list<T> plist stl_variable T
std::map<T,T> pmap stl_variable
std::multimap<T,T> pmap stl_variable
std::set<T> pset stl_variable T
std::multiset<T> pset stl_variable
std::deque<T> pdequeue stl_variable
std::stack<T> pstack stl_variable
std::queue<T> pqueue stl_variable
std::priority_queue<T> ppqueue stl_variable
std::bitset<n>td> pbitset stl_variable
std::string pstring stl_variable
std::widestring pwstring stl_variable
$ file processs_name $ b __brk 给进程分配内存时,在内核设置的断点 $ !cat /proc/pid/ map s 查看 进程空间位置 //加了叹号可用linux cmd $ i shared 看各模块内存的分配 $ !readelf -h $ !readelf -S 看section $ info registers 看寄存器 $ help info registers ...... 先下载 gdb _stl_utils.tar.gz, extract it, and run make. This will compile and install the necessary files in ~/. gdb (edit the Makefile if you want to use a different directory). To use the p_stl_* function 有的 gdb 版本不支持打印 map 等stl,因此需要插件,在网上找到一个插件,进入 gdb ,source该文件即可。之后通过p map (p vector 等)可以获取打印 map 的提示,下面是工具代码,保存下,方便以后使用。 # ...