如何使用 gdb 设置 std::map 变量

How can I set std::map variable with gdb?

本文关键字:map 变量 std 设置 何使用 gdb      更新时间:2023-10-16
#include<map>
#include<iostream>
using std::map;
using std::cout;
int main(int argc,char* argv[])
{
    map<int,int> kv({{1,1},{2,2},{3,3}});
    kv[1]=2;
    cout<<kv[1];
    return 0;
}

我从GDB开始,在kv[1]=2休息。执行kv[1]=2后,我想在 GDB 中设置kv[1]=3。我该怎么做?

您可以使用 GDB set 命令来设置值

GDB 模式modifying_command:设置 [ 变量 ] 表达式

下面的示例演示如何将值 5 存入 C++ 变量的数据成员中:GDB 模式

(idb) print kv[1]
(idb) set variable {int}0x82040 = 5  //82040 is memory address