Debugger: Fix Eigen::Matrix dumper with LLDB

Access by address. Big hammer, but LLDB doesn't cope
well with templates...

Change-Id: I430a83c282bc8a46efa011efb73f32cdbf46398c
Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
hjk
2014-04-10 18:28:26 +02:00
parent e6292d3681
commit e7eb227157

View File

@@ -133,9 +133,7 @@ def qdump__Eigen__PlainObjectBase(d, value):
storage = value["m_storage"] storage = value["m_storage"]
nrows = toInteger(storage["m_rows"] if argRow == -1 else argRow) nrows = toInteger(storage["m_rows"] if argRow == -1 else argRow)
ncols = toInteger(storage["m_cols"] if argCol == -1 else argCol) ncols = toInteger(storage["m_cols"] if argCol == -1 else argCol)
p = storage["m_data"] p = d.createPointerValue(d.addressOf(value), innerType)
if d.isStructType(p.type): # Static
p = p["array"].cast(innerType.pointer())
d.putValue("(%s x %s), %s" % (nrows, ncols, ["ColumnMajor", "RowMajor"][rowMajor])) d.putValue("(%s x %s), %s" % (nrows, ncols, ["ColumnMajor", "RowMajor"][rowMajor]))
d.putField("keeporder", "1") d.putField("keeporder", "1")
d.putNumChild(nrows * ncols) d.putNumChild(nrows * ncols)