llvm/lldb/examples/customization/bin-utils/README

Files in this directory:

o .lldbinit:

An example lldb init file that imports the binutils.py module and adds the
following commands: 'itob' and 'utob'.

o binutils.py:

Python module which provides implementation for the 'itob' and 'utob' commands.

o README:

The file you are reading now.

================================================================================
The following terminal output shows an interaction with lldb using the .lldbinit
and the binutils.py files which are located in my HOME directory.  The lldb init
file imports the utils Python module and adds the 'itob' and 'utob' commands.

$ /Volumes/data/lldb/svn/trunk/build/Debug/lldb
(lldb) help itob
Convert the integer to print its two's complement representation.
    args[0] (mandatory) is the integer to be converted
    args[1] (mandatory) is the bit width of the two's complement representation
    args[2] (optional) if specified, turns on verbose printing
Syntax: itob
(lldb) itob -5 4
 [1, 0, 1, 1]
(lldb) itob -5 32 v
 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1]
(lldb) utob 0xABCD 32 v
 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1]
(lldb)