Вот структура в моем коде 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
, а затем вывести всю эту строку?Если так, есть ли простой способ сделать это?