首页 > 解决方案 > GDB时如何将参数传递给函数

问题描述

我正在尝试使用 GDB 来调试我的 C++ 程序。

我在想是否可以在使用 GDB 时将参数传递给函数。

例如,我有一个如下的程序:

#include <iostream>

void func(int a)
{
    std::cout << a << std::endl;
}

int main(int argc, char **argv)
{
    func(2222);

    return EXIT_SUCCESS;
}

func(2222)我在函数中的行设置了一个断点main。我的问题是:在这个程序上使用 GDB 时,是否可以为函数设置另一个参数func,而不是,?2222

标签: c++debugginggdbparameter-passing

解决方案


您可以更改函数内部的值 a func())
为此,您可以使用:

assign a = $value_you_want 

例子

b func # set breakpoint
c      # continue
assign a = 2  # breakpoint gets hit, change value from a = 222 to a = 2

推荐阅读