【问题标题】:How to view the arguments that are passed to a system call in GDB如何查看传递给 GDB 中系统调用的参数
【发布时间】:2020-10-03 22:58:48
【问题描述】:

我正在使用 GDB 运行 PEDA。默认情况下,我会看到寄存器、堆栈和代码部分。但是,当我为系统调用设置断点时,我想查看传递给该系统调用的参数。应该有一个“参数”部分,就像有一个寄存器、堆栈和代码部分一样。我尝试了“dumpargs”命令,但它不起作用。

我是否必须修改配置文件或其他内容?

【问题讨论】:

    标签: gdb


    【解决方案1】:

    我想查看传递给此系统调用的参数。

    在大多数操作系统上,系统调用的参数在寄存器中传递

    例如,在 Linux/x86_64 上,系统调用号在$rax 中传递(例如,$rax == 0 用于read 系统调用,1 用于write 系统调用等), $rdi 寄存器中的第一个参数等。参见this answer

    【讨论】:

      猜你喜欢
      • 2011-08-11
      • 2017-08-25
      • 1970-01-01
      • 2015-10-24
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      • 2020-07-18
      相关资源
      最近更新 更多