[Bug 1241668] Re: gdb embeds python3.3, but support scripts are not compatible
David Coles
coles.david at gmail.com
Sun Oct 20 08:52:20 UTC 2013
Looks like the cause of the "'gdb.Value' object cannot be interpreted as
an integer" error is the range function not being able to turn a
gdb.Value into an int. Put an explicit `int(val)` in there and I can get
py-bt and py-list to work again.
I've attached a patch with the changes I've made, but I want to check
that this doesn't break Python 2.7 support and clean it up a bit more
(pretty sure that `long` and `int` have been unified for a while now)
before submitting this upstream.
** Patch added: "Python 3 support"
https://bugs.launchpad.net/ubuntu/+source/gdb/+bug/1241668/+attachment/3884699/+files/python3-support.patch
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gdb in Ubuntu.
https://bugs.launchpad.net/bugs/1241668
Title:
gdb embeds python3.3, but support scripts are not compatible
Status in “gdb” package in Ubuntu:
Confirmed
Bug description:
The saucy gdb appears to be linked against libpython3.3.
This results in a conflict when trying to debug python2.7 programs,
which use the python2.7-dbg.py scripts from python2.7-dbg. This makes
debugging Python programs difficult.
File "/usr/lib/debug/usr/bin/python2.7-gdb.py", line 54
Py_TPFLAGS_HEAPTYPE = (1L << 9)
^
SyntaxError: invalid syntax
File "/usr/lib/debug/usr/bin/python2.7-gdb.py", line 54
Py_TPFLAGS_HEAPTYPE = (1L << 9)
There are also invalid print statements that show up as well.
If these are updated, then the file parses, but `py-bt` fails with:
Error occurred in Python command: global name 'long' is not defined
Updating all of the long() references to int() doesn't work:
Error occurred in Python command: 'gdb.Value' object cannot be
interpreted as an integer
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gdb/+bug/1241668/+subscriptions
More information about the foundations-bugs
mailing list