如何在GDB宏中语法打印部分字符串

时间:2019-01-20 18:47:23

标签: c gdb

这是我的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字符的便捷变量,然后转储整个字符串?如果是这样,有没有一种简单的方法?

0 个答案:

没有答案