问题
Is it possible... when the debugger is stopped at a breakpoint, to modify the value of a std::string variable without resorting to hacks like tweaking the memory image of the current buffer?
e.g. something like "set var mystring="hello world"
?
回答1:
Try this (tested and works for me):
call mystring.assign("hello world")
The key is that instead of modifying memory directly, you call the object's functions to change its state. It so happens that std::basic_string
has a member function called assign
which does the job.
来源:https://stackoverflow.com/questions/2502314/setting-an-stdstring-variable-value-from-gdb