在 Jessie 上使用 gdb 的 Python 扩展时出现 MemoryError

在 Jessie 上使用 gdb 的 Python 扩展时出现 MemoryError

过去,我经常利用这个机会将 gdb 附加到正在运行的 Python 进程并使用py-*扩展进行调试。但是,从 Debian Jessie 开始,这不再起作用,而是抛出一个MemoryError

重现步骤:

  • debian/jessie64创建一个带有box 的Vagrant 机器
  • 在盒子里sudo apt-get install gdb python-dbg
  • 创建测试文件echo "raw_input()" > test.py"并运行python test.py
  • 使用 gdb 进行连接gdb -p <processe's PID>
  • 尝试py-bt或任何其他py-*命令

结果是:

(gdb) py-bt
Python Exception <class 'gdb.MemoryError'> Cannot access memory at address 0x12: 
Error occurred in Python command: Cannot access memory at address 0x12

... 用作debian/wheezy64底盒时:

#10 Frame 0xf2faf0, for file test.py, line 1, in <module> ()
    raw_input()

有人遇到并解决过这个问题吗?

相关内容