无法使用 python 扩展名在 gdb 中打印特征类型

Trouble printing Eigen types in gdb using python extension

我想在 gdb 中打印 Eigen 矩阵和向量,因此我添加了扩展名来执行此操作,可在此处找到:https://bitbucket.org/eigen/eigen/src/12a658962d4e/debug/gdb/printers.py

但是,当我尝试在 ddd 中的某些 Eigen 类型上调用 print 时,出现以下错误:

Python Exception <class 'TypeError'> 'map' object is not subscriptable: 
Python Exception <class 'TypeError'> 'map' object is not subscriptable: 
Python Exception <class 'TypeError'> 'map' object is not subscriptable:

基于this post我检查了我的gcc版本是4.8.2,我的gdb版本是7.7.1,所以这两个都不是问题。

关于如何解决这个问题有什么想法吗?

你能通过以下检查确定 2.7.6 是 gdb 使用的版本吗?

  1. 启动 gdb。
  2. 类型:

    导入系统

    打印 (sys.version)

  3. CTRL+D

  4. 结束