я пытаюсь напечатать содержимое массива, как это, и это успешно:GDB не может распечатать содержимое массива
p/x t->arr
$1 = {0x63, 0x61, 0x74, 0x31, 0x2e, 0x6a, 0x70, 0x67, 0x0 <repeats 248 times>}
Однако, когда я пытаюсь по-другому, как это:
(gdb) p &t->arr
$2 = (char (*)[256]) 0x60c4d0
p/100x *0x60c4d0
Item count other than 1 is meaningless in "print" command.
t-> arr определяется как arr [256] в структуре. Я что-то делаю неправильно?
Я не уверен, что понимаю, в чем ваша цель? Или, что вы надеетесь, 'p/100x' будет делать? – Macattack
@macattack Я пытаюсь создать тот же результат, что и p/x t-> arr. Однако в последнем случае я пытаюсь напечатать адрес массива вместо использования «t-> arr» –
Возможно, если вы сделали 'p/100x (char *) * 0x60c4d0'? Так что gdb знает, что это s 'char *' по адресу. Я никогда не использовал синтаксис 'p/# x'. – Macattack