C++ 在lldb中打印犰狳矩阵

C++ 在lldb中打印犰狳矩阵,c++,debugging,matrix,lldb,armadillo,C++,Debugging,Matrix,Lldb,Armadillo,我在macOS Catalina上使用的Xcode是lldb附带的。我试图在堆栈溢出后打印犰狳矩阵,但我得到了错误: error: 'print_matrix' does not name a template but is followed by template arguments non-template declaration found by name lookup

我在macOS Catalina上使用的Xcode是lldb附带的。我试图在堆栈溢出后打印犰狳矩阵,但我得到了错误:

error: 'print_matrix' does not name a template but is followed by template arguments
non-template declaration found by name lookup
<我是C++的新手,所以我不确定这个错误是由于GDB和LLDB之间的差异还是由于使用不同的数据结构而导致的ARMADILO的当前版本。(引用的帖子是8年前的,所以犰狳的工作方式可能从那时起已经改变了)


我将非常感谢对这个错误的任何修复,或者在调试期间提供打印犰狳矩阵的替代方法的建议

也可能是lldb表达式计算器中的错误。如果你能打包一个小测试用例,请提交一个包含你的示例的bug。顺便说一句,我不知道这些矩阵对象的布局是否仍然与你引用的答案中的布局相同,但是如果是这样的话,那么按照答案中给出的gdb pretty打印机编写一个lldb“合成子提供程序”将非常容易。这在lldb中具有与gdb中的漂亮打印机相同的优势,而且它们将在Xcode Locals视图中显示为可披露类型,这非常方便。关于在lldb中编写合成子提供程序的说明如下:@JimIngham感谢您的所有评论!作为一种快速解决方法,我现在在C++代码中用const double *vctopsixPosie= vector .MeMpReTo()创建指针,使用LLDB命令PAREY 10 Vector Type指针,其中10是要检查的向量长度的元素个数。如果是,您可以这样做:
parray 10 vector.memptr()
,而不必向代码中添加变量。。。如果不是这样的话,最好在这上面写个bug。在调试器中调用模板函数很棘手,但我们正在努力使其可靠地工作。这也可能是lldb表达式计算器中的一个错误。如果你能打包一个小测试用例,请提交一个包含你的示例的bug。顺便说一句,我不知道这些矩阵对象的布局是否仍然与你引用的答案中的布局相同,但是如果是这样的话,那么按照答案中给出的gdb pretty打印机编写一个lldb“合成子提供程序”将非常容易。这在lldb中具有与gdb中的漂亮打印机相同的优势,而且它们将在Xcode Locals视图中显示为可披露类型,这非常方便。关于在lldb中编写合成子提供程序的说明如下:@JimIngham感谢您的所有评论!作为一种快速解决方法,我现在在C++代码中用const double *vctopsixPosie= vector .MeMpReTo()创建指针,使用LLDB命令PAREY 10 Vector Type指针,其中10是要检查的向量长度的元素个数。如果是,您可以这样做:
parray 10 vector.memptr()
,而不必向代码中添加变量。。。如果不是这样的话,最好在这上面写个bug。在调试器中调用模板函数是很棘手的,但我们正在努力使其可靠地工作。