Установка значения переменной std::string из gdb?

Возможно ли... когда отладчик остановлен в точке останова, чтобы изменить значение переменной std::string, не прибегая к хакам, например, к настройке образа памяти текущего буфера?

например. что-то вроде "set var mystring =" hello world "

?

Ответы

Ответ 1

Попробуйте (проверено и работает для меня):

call mystring.assign("hello world")

Ключ состоит в том, что вместо того, чтобы напрямую изменять память, вы вызываете функции объекта, чтобы изменить его состояние. Так получилось, что std::basic_string имеет функцию-член, называемую assign, которая выполняет задание.