Почему команда печати в gdb возвращает \ 035 для C ++ std :: strings?

Допустим, у меня есть код:

std::string str = "random";

function(str);

void function (std::string str)
{
  std::cout << str << std::endl;
}

Если я перейду через этот код в gdb, а затем перейду к функции и сделаю p str он распечатает что-то вроде этого \ 362 \ 241 , но cout выведет на экран правильную строку random . Кто-нибудь видел это раньше, если да, что мне делать? Я неправильно использую команду печати в gdb или это как-то связано с тем, как компилятор интерпретирует строку?

7
задан Grammin 13 April 2017 в 20:01
поделиться