Почему всегда 6 параметров отображаются для функций в стеке вызовов, сгенерированном в Solaris? - PullRequest
4 голосов
/ 27 августа 2010

Почему функции, отображаемые в стеке вызовов, сгенерированном в Solaris, всегда содержат 6 параметров?

В большинстве случаев исходная функция вообще не будет иметь 6 параметров. Иногда я также нахожу, что отображаемые значения параметров не соответствуют порядку в объявлении функции.

Любые указатели или ссылки для понимания этих концепций и отладки в Solaris будут полезны.

1 Ответ

2 голосов
/ 27 августа 2010

Я полагаю, в зависимости от вашей версии Solaris (64-битной?), Что соглашение о вызовах определяет первые 6 параметров функции, передаваемых регистрами.Даже если они не используются, ваш отладчик может просто отображать содержимое этих 6 регистров.

Редактировать: с http://publib.boulder.ibm.com/httpserv/ihsdiag/get_backtrace.html#pstack

Note that pstack doesn't know how many arguments there are so it always displays six. So if you know that some function has only two arguments, ignore whatever pstack displays after the first argument.
...