c++ - 如何在 GDB 中将参数传递给函数

标签 c++ debugging gdb parameter-passing

我正在尝试使用 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;
}

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

最佳答案

您可以在函数 func()) 中更改值 a。
为此,您可以使用:

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

关于c++ - 如何在 GDB 中将参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58092219/

相关文章:

段错误时未生成核心转储文件

c++ - 如何在 gdb/TotalView 中为复杂类型编写 native C++ 调试器可视化工具

c++ - 完美转运不取货方式

c++ - 判断一个数是奇数还是偶数

c# - 将空值传递给日期时间? parameter 获取用随机值填充的参数

c# - 附加 .net 调试器,同时仍然提供有用的死亡日志记录

c - printf() 似乎正在破坏我的数据

c++ - 参数包和移动语义

C++ 字符串比较

debugging - 如何调试迭代程序?