2

似乎 ltrace 显示的参数比函数提供的参数多,例如这个

getauxval(31, 0x7ffe5ee5a5c0, 0, 0x7066732e6d657473) = 0x7f4f747cd030

为什么那里有 4 个参数,两个整数两个内存位置,而不是所有 Linuxgetauxval似乎都支持的一个参数?读取 ltrace 输出的正确方法是什么?

4

1 回答 1

3

我偶然发现了同样的问题。经过一番研究和与源文件的比较,我发现这些参数是调用函数时堆栈变量的值。因此,如果您希望(知道)您的函数只有一个参数,这将是第一个参数,之后的所有内容都是函数堆栈上的变量

于 2018-05-05T20:37:16.013 回答