8000 Eigen matrices are not working, python crashes in gdb (solution is a one liner) · Issue #157 · OpenImageDebugger/OpenImageDebugger · GitHub
[go: up one dir, main page]

Skip to content

Eigen matrices are not working, python crashes in gdb (solution is a one liner) #157

@eallak

Description

@eallak

Environment

  • OID version (commit or tag): v1.9.20
  • OS and Version: ubuntu 20.4
  • Which debugger [gdb and/or lldb] and respective versions: gdb 9.2
  • Python version: 3.8.10

Describe the bug

The installation was very well documented and there were no problems.
I tried this tool out with a very small C++ file with small Eigen matrices. And although the variables are detected in the gui of OID correctly, they can not be plotted, because python crashed in the background.

To Reproduce

Steps to reproduce the behavior:

  1. debug a cpp file with eigen matrices with gdb
  2. Select the variable in the gui

Expected behavior

The matrix entries should be shown as an image.

Actual behavior

No image is shown, only a traceback in gdb is shown.

Error messages/stack traces

Please include error messages and/or stack traces in plain text format, preferrably using

[OpenImageDebugger] Error: Could not plot variable
'gdb.Value' object has no attribute 'template_argument'
Traceback (most recent call last):
  File "/home/errr0/Downloads/vs_code/OpenImageDebugger/install/OpenImageDebugger/oidscripts/oidwindow.py", line 211, in __call__
    buffer_metadata = self._bridge.get_buffer_metadata(self._variable)
  File "/home/errr0/Downloads/vs_code/OpenImageDebugger/install/OpenImageDebugger/oidscripts/debuggers/gdbbridge.py", line 59, in get_buffer_metadata
    buffer_metadata = self._type_bridge.get_buffer_metadata(
  File "/home/errr0/Downloads/vs_code/OpenImageDebugger/install/OpenImageDebugger/oidscripts/typebridge.py", line 40, in get_buffer_metadata
    return module.get_buffer_metadata(symbol_name,
  File "/home/errr0/Downloads/vs_code/OpenImageDebugger/install/OpenImageDebugger/oidscripts/oidtypes/eigen3.py", line 93, in get_buffer_metadata
    eigen_stride = int(picked_obj.type.template_argument(2).template_argument(1)) # error: 'gdb.Value' object has no attribute 'template_argument'
AttributeError: 'gdb.Value' object has no attribute 'template_argument'

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0