Почему ltrace показывает так много параметров и аргументов?
Похоже, что ltrace показывает больше параметров, чем предоставляют функции, например
getauxval(31, 0x7ffe5ee5a5c0, 0, 0x7066732e6d657473) = 0x7f4f747cd030
Почему там 4 параметра, два целых числа в двух ячейках памяти, а не один параметр, который все в Linux getauxval
похоже на поддержку? Как правильно читать вывод ltrace?
1 ответ
Я наткнулся на тот же вопрос. После некоторого исследования и сравнения с исходным файлом я обнаружил, что эти аргументы являются значениями переменных стека во время вызова функции. Так что, если вы ожидаете (знаете), что ваша функция имеет только 1 аргумент, это будет первый параметр, все, что после этого - переменные в стеке функций