【发布时间】:2011-01-30 22:23:29
【问题描述】:
是否有可能...当调试器在断点处停止时,修改 std::string 变量的值而不诉诸诸如调整当前缓冲区的内存映像之类的技巧?
例如类似“set var mystring="hello world"
?
【问题讨论】:
是否有可能...当调试器在断点处停止时,修改 std::string 变量的值而不诉诸诸如调整当前缓冲区的内存映像之类的技巧?
例如类似“set var mystring="hello world"
?
【问题讨论】:
试试这个(测试并为我工作):
call mystring.assign("hello world")
关键是不是直接修改内存,而是调用对象的函数来改变它的状态。碰巧std::basic_string 有一个名为assign 的成员函数来完成这项工作。
【讨论】:
p mystring.operator=("hello world") 显式调用重载运算符,这是执行mystring = "hello world" 的详细方式,即使不存在其他函数重载也应该可以工作。