Предположим, что у меня есть буфер buf
, чье строковое представление
char* buf = "Hello World \x1c"
Когда я печатаю этот buf в gdb с помощью команды p buf
, я получаю следующее
$1 = "Hello World \034"
Есть ли команда печати или параметр gdb, который будет печатать следующее вместо?
$1 = "Hello World \x1c"
Я пробовал различные параметры формата, такие как /c
и /x
, но ни один из них не получил эффект, который я ищу. Я также играл с printf, но не смог добиться желаемого эффекта.
Обновление: я использую "GNU gdb (GDB) 7.0.1-debian".
Обновление: Я тоже играл с х.
Если я делаю x/c
, он печатает восьмеричные и десятичные значения для непечатаемых символов, а затем печатает печатные символы с ascii и decimal.
Если я делаю x/s
, он выводит точно так же, как и команда p.
Если я делаю x/x
, он просто выводит hex, но затем мы теряем символы ascii для печатаемой части.
Обновление: эта ссылка, если она не является неполной, предполагает, что то, чего я хочу, недоступно, но может ли кто-нибудь подтвердить?