Форматирование вывода "p / t" в GDB - PullRequest
0 голосов
/ 02 мая 2018

В gdb 'p / t' показывает значения переменных или регистров в двоичном формате. Когда читается регистр uint16_t или uint32_t, трудно найти бит, на который я хочу посмотреть. Есть ли способ лучше форматировать вывод? Например, сгруппировать 4 цифры и добавить пробелы, например «0000 0000 0100 0101»?

Ответы [ 2 ]

0 голосов
/ 02 мая 2018

Ну ... я только нашел способ, хотя он не красивый.

'x /' показывает значения в переменных. Имеет несколько полезных опций форматирования.

Например, если вы хотите прочитать 32-битный регистр, в котором хранится следующее значение.

 (gdb) p /t register_name
 11111111111011111111100010101010

Затем вы можете видеть их побайтно, как в примере ниже. Обратите внимание, что порядок байтов обратный.

 (gdb) x/4bt &register_name
 0x40022020:  10101010    11111000    11101111    11111111
0 голосов
/ 02 мая 2018

Нет встроенного способа сделать это. Похоже, разумная функция для запроса (в gdb bugzilla).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...