Difference between revisions of "ITK/GDBPretty/Installation/Linux"

From KitwarePublic
< ITK‎ | GDBPretty
Jump to navigationJump to search
Line 35: Line 35:
 
Place the following in ''~/.gdbinit''
 
Place the following in ''~/.gdbinit''
 
<pre>
 
<pre>
some stuff
+
#
oeau eoau
+
# C++ related beautifiers (optional)
  aoue
+
#
 +
set print pretty on
 +
set print object on
 +
set print static-members on
 +
set print vtbl on
 +
set print demangle on
 +
set demangle-style gnu-v3
 +
set print sevenbit-strings off
 +
set multiple-symbols ask
 +
# working with arrays
 +
set print array on
 +
set print elements 70
 +
 
 +
#
 +
# gdb-pretty
 +
#
 +
python
 +
import sys
 +
sys.path.insert( 0, '/home/matt/apps/gdb-pretty' )
 +
sys.path.insert( 0, '/home/matt/apps/gdb-pretty/itk/source' )
 +
import gdb.pretty
 +
gdb.pretty.register( 'libstdcxx.v6.printers', None )
 +
end
 +
 
 +
require command view
 +
require command alias
 
</pre>
 
</pre>
  

Revision as of 02:48, 17 November 2010

Fedora 14 example

Install package dependencies

yum install gcc gcc-c++ git texinfo ncurses-devel flex bison

Build custom GDB

Build it

cd ~
mkdir gdb
cd gdb
git clone git://gitorious.org/~thewtex/gdb-python/archer-thewtex-python.git source
mkdir build install
cd build
../source/configure --prefix=$(cd ../install && pwd)
make -j2 all install

Put it at the top of the system PATH

su -
cd /usr/local/bin
ln -s /home/user/gdb/install/bin/gdb
exit

Logout and login to a new shell to ensure the system follows the new path.

Install custom pretty-printers

Basic pretty-printers

yum install python-matplotlib

Place the following in ~/.gdbinit

#
# C++ related beautifiers (optional)
#
set print pretty on
set print object on
set print static-members on
set print vtbl on
set print demangle on
set demangle-style gnu-v3
set print sevenbit-strings off
set multiple-symbols ask
# working with arrays
set print array on
set print elements 70

#
# gdb-pretty
#
python
import sys
sys.path.insert( 0, '/home/matt/apps/gdb-pretty' )
sys.path.insert( 0, '/home/matt/apps/gdb-pretty/itk/source' )
import gdb.pretty
gdb.pretty.register( 'libstdcxx.v6.printers', None )
end

require command view
require command alias
mkdir ~/gdb/gdb-pretty

libstdcxx pretty-printers

cd ~/gdb/gdb-pretty
git clone http://git.gitorious.org/gdb-pretty/gdb-pretty-libstdcxx.git libstdcxx