从 gdb 设置 std::string 变量值?

问题描述 投票:0回答:1

当调试器在断点处停止时,是否可以修改

std::string
变量的值,而无需采取诸如调整当前缓冲区的内存映像之类的黑客手段?

例如类似的东西

set var mystring="hello world"
c++ string debugging gdb stdstring
1个回答
36
投票

试试这个(经过测试并且对我有用):

call mystring.assign("hello world")

关键在于,您不是直接修改内存,而是调用对象的函数来更改其状态。碰巧

std::basic_string
有一个名为
assign
的成员函数来完成这项工作。

© www.soinside.com 2019 - 2024. All rights reserved.