Problem using py-bt, py-locals, etc. during GDB debugging [solved]
Mark Shroyer
mshroyer at awaredigital.com
Fri Dec 7 01:28:46 EST 2012
On Thu, Dec 06, 2012 at 07:37:22PM -0500, MRAB wrote:
> On 2012-12-07 00:22, Mark Shroyer wrote:
> >
> > [...]
> >
> > 2. Patch Python 2.7.3's python-gdb.py as follows:
> >
> > === 8< =================================
> >
> > --- python-gdb.py.orig 2012-12-06 15:12:18.666760664 -0500
> > +++ python-gdb.py 2012-12-06 19:17:19.588356874 -0500
> > @@ -1074,7 +1074,11 @@
> >
> >
> > def int_from_int(gdbval):
> > - return int(str(gdbval))
> > + int_str = str(gdbval)
> > + if int_str.startswith("0x"):
> > + return int(int_str[2:], 16)
> > + else:
> > + return int(int_str)
> >
> >
> > def stringify(val):
> >
> > === 8< =================================
> >
> > I haven't checked to see whether this also applies to the GDB extension
> > for Python 3, though.
> >
> A shorter fix would be:
>
> def int_from_int(gdbval):
> return int(str(gdbval), 0)
>
>
> Some examples:
>
> >>> # Decimal
> >>> int("12", 0)
> 12
> >>> # Hexadecimal
> >>> int("0x12", 0)
> 18
> >>> # Octal
> >>> int("012", 0)
> 10
> >>> # Octal
> >>> int("0o12", 0)
> 10
> >>> # Binary
> >>> int("0b11", 0)
> 3
Nice, I didn't know about that... thanks!
More information about the Python-list
mailing list