我的 DDD 数据显示窗口过于拥挤,因为每个对象都列出了它的静态数据成员以及它的实例数据成员。
有没有隐藏这些的选项?
编辑:更好的是,我可以为每个元素获取一个数组切片并仅显示 xy 和 z 成员吗?
我的 DDD 数据显示窗口过于拥挤,因为每个对象都列出了它的静态数据成员以及它的实例数据成员。
有没有隐藏这些的选项?
编辑:更好的是,我可以为每个元素获取一个数组切片并仅显示 xy 和 z 成员吗?
您可能会为您的代码编写一个漂亮的打印机。
例子:
namespace Test {
struct Filter {
static unsigned a;
static unsigned b;
static unsigned c;
// ,,,
unsigned x;
unsigned y;
unsigned z;
Filter()
: x(1), y(2), z(3)
{}
};
unsigned Filter::a;
unsigned Filter::b;
unsigned Filter::c;
}
int main() {
Test::Filter value;
return 0;
}
有了这台漂亮的打印机
@printers.register_pretty_printer
class TestFilter:
"Pretty Printer for Test::Filter"
regex = re.compile('^Test::Filter$')
@printers.static
def supports(typename):
return TestFilter.regex.search(typename)
def __init__(self, typename, value):
self.typename = typename
self.value = value
def to_string(self):
x = self.value['x']
y = self.value['y']
z = self.value['z']
return '(Test::Filter) x=%d, y=%d, z=%d' % (x, y, z)
在第 27 行返回并运行 gdb -q Test -ex 'b 27' -ex 'r' -ex 'p value' -ex 'c' -ex 'q' 将给出:
$1 = (Test::Filter) x=1, y=2, z=3
有关更多说明,请查看gdb 中漂亮的打印 boost::mpl::string<...> 类型