这是我的C代码中的结构:
struct ptr_len {
char *ptr;
int len;
};
这是我的GDB宏:
define dumper
printf "ptr=%s\n", $arg0->ptr
end
问题是,字符串可能很长。我知道我可以这样做来打印前10个字符:
define dumper
printf "ptr=%.10s\n", $arg0->ptr
end
但是我可以打印len
个字符吗?以下内容不起作用:
define dumper
printf "ptr=%.${arg1}s\n", $arg0->ptr
end
我是否需要首先构造一个包含len
字符的便捷变量,然后转储整个字符串?如果是这样,有没有一种简单的方法?