C / GDB: отображать содержимое адреса - PullRequest
5 голосов
/ 28 февраля 2012

У меня есть этот адрес, 0x8002bf20, и мне нужно посмотреть, что там внутри.Я знаю, что GDB делает приятные вещи, такие как «print x», и я увижу что-то вроде struct ex {x: 1, y: 2}

Мне нужно увидеть такой тип вывода для этого адреса, который мне нуженосмотреть.

Спасибо.

1 Ответ

11 голосов
/ 28 февраля 2012

Если вам известен тип структуры по этому адресу, вы можете заставить GDB напечатать ее:

(gdb) print *(struct mystruct *) 0x8002bf20

Если вы не знаете тип структуры, то лучшее, что вы можете сделать, это команда x, о которой вы уже упоминали, хотя имейте в виду, что приведение к «неправильному» типу не повредит, поэтому вы можете попробовать различные структуры с print *(struct mystruct *), пока результат не станет правдоподобным.

...