STL Support Tools
来源:互联网 发布:隐身侠软件好用吗 编辑:程序博客网 时间:2024/06/05 03:44
When you try to use GDB's "print" command to display the contents of a vector, a stack, or any other GDB abstract data structure, you will get useless results. Instead, download and install one of following tools to properly view the contents of STL containers from within GDB.
GDB 7.0 will include support for writing pretty-printers in Python. This feature, combined with the pretty-printers in the libstdc++ svn repository, yields the best way to visualize C++ containers. Some distros (Fedora 11+) ship all this code in a way that requires no configuration; in other cases,this email message explains how to set everything up. The main points have been redacted here:
- Check-out the latest Python libstdc++ printers to a place on your machine. In a local directory, do:
svn co svn://gcc.gnu.org/svn/gcc/trunk/libstdc++-v3/python
- Add the following to your ~/.gdbinit. The path needs to match where the python module above was checked-out. So if checked out to: /home/maude/gdb_printers/, the path would be as written in the example:
pythonimport syssys.path.insert(0, '/home/maude/gdb_printers/python')from libstdcxx.v6.printers import register_libstdcxx_printersregister_libstdcxx_printers (None)end
The path should be the only element that needs to be adjusted in the example above. Once loaded, STL classes that the printers support should printed in a more human-readable format. To print the classes in the old style, use the/r (raw) switch in the print command (i.e., print /r foo). This will print the classes as if the Python pretty-printers were not loaded.
- Check-out the latest Python libstdc++ printers to a place on your machine. In a local directory, do:
gdb-stl-views is a set of GDB macros that can display the contents of many STL containers: list, vector, map, multimap, set, multiset, dequeue, stack, queue, priority_queue, bitset, string, and widestring. Writen and currently maintained by Dan Marinescu - PhD. The author formally disclaims copyright to this source code. In place of a legal notice, here is a blessing: May you do good and not evil. May you find forgiveness for yourself and forgive others. May you share freely, never taking more than you give!
You can download it here or here
Tutorials and an alternative download are hosted at yolinux.com.
gdb++ is a Perl script which extends gdb. It comes bundled as part of the Devel::GDB::Reflect Perl module. Firstuse CPAN to install the module, then follow the gdb++ usage instructions. Developed by Stanford PhD student Antal Novak.
There are other options. Tom Malnar wrote a set of GDB macros similar to Dan's (http://thread.gmane.org/gmane.comp.gcc.g++.general/4060/focus=4167 ) but it doesn't cover as wide a variety of containers. Gilad Mishne wrote a different set of macros (http://www.stanford.edu/~afn/gdb_stl_utils/ ) but it is long unmaintained and it works only with SGI's STL implementation, which very few GCC users use.
Iterators: how to display the item the iterator points at (tested on gdb 6 with a list):print *(iter._M_current)
- STL Support Tools
- STL Support Tools
- STL Support Tools for GDB
- Microsoft Tech Support Tools
- stl support for gdb: gdb-stl-views
- support tools中专有AD工具
- Windows Support Tools for Microsoft Windows XP
- Facebook开放平台 - Tools & Support & News
- Expert Metalink – Support Tips Tools & Resources
- Windows下Python support tools 安装
- buildToolsVersion,platform-tools,com.android.support 作用
- Android std and stl support - C++ Library Support
- Android std and stl support - C++ Library Support
- Windows XP SP2 Support Tools and httpcfg.exe
- Tools 命名空间的使用与 Support Library Annotations 介绍
- Tools 命名空间的使用与 Support Library Annotations 介绍
- Tools 命名空间的使用与 Support Library Annotations 介绍
- Tools 命名空间的使用与 Support Library Annotations 介绍
- RedHat 6.0如何使用CentOS YUM源更新的方法
- iOS 图片处理模糊_毛玻璃效果(董鑫)
- 《c++ primer》第五版 第十四章 重载运算和类型转换 笔记
- MongoDB windows下安装教程
- UltraEdit 和Notepad++ 使用ftp直接编辑linux上文件
- STL Support Tools
- 宏碁Aspire V5-471G笔记本电脑安装MAC OSX Yosemite10.10.3
- 查看Linux系统版本
- kuangbin带我飞 专题二 搜索进阶 第一题 HDU1043(双向BFS+康托展开)
- x进制转10进制
- C#语法
- linux生成SSH keys
- MySQL PDO连接与操作
- ZOJ1709