【发布时间】:2020-10-03 22:58:48
【问题描述】:
我正在使用 GDB 运行 PEDA。默认情况下,我会看到寄存器、堆栈和代码部分。但是,当我为系统调用设置断点时,我想查看传递给该系统调用的参数。应该有一个“参数”部分,就像有一个寄存器、堆栈和代码部分一样。我尝试了“dumpargs”命令,但它不起作用。
我是否必须修改配置文件或其他内容?
【问题讨论】:
标签: gdb
我正在使用 GDB 运行 PEDA。默认情况下,我会看到寄存器、堆栈和代码部分。但是,当我为系统调用设置断点时,我想查看传递给该系统调用的参数。应该有一个“参数”部分,就像有一个寄存器、堆栈和代码部分一样。我尝试了“dumpargs”命令,但它不起作用。
我是否必须修改配置文件或其他内容?
【问题讨论】:
标签: gdb
我想查看传递给此系统调用的参数。
在大多数操作系统上,系统调用的参数在寄存器中传递。
例如,在 Linux/x86_64 上,系统调用号在$rax 中传递(例如,$rax == 0 用于read 系统调用,1 用于write 系统调用等), $rdi 寄存器中的第一个参数等。参见this answer。
【讨论】: