为什么在 Solaris 上生成的调用堆栈中的函数总是显示 6 个参数?
为什么 Solaris 中生成的调用堆栈中显示的函数总是包含 6 个参数?
在大多数情况下,原始函数根本不会有 6 个参数。有时我还发现,显示的参数值与函数声明中的顺序不匹配。
任何用于理解这些概念和在 Solaris 中进行调试的指针或链接都会有所帮助。
Why do the functions displayed in a callstack generated in Solaris always contain 6 parameters?
In most of the cases, the original function will not be having 6 parameters at all. Sometimes I also find, the parameter values displayed are not matching the order in function declaration.
Any pointers or links for understanding these concepts and debugging in Solaris will be helpful.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信,根据您的 Solaris 版本(64 位?),调用约定指定由寄存器传递的函数的前 6 个参数。即使它们没有被使用,您的调试器也可能只显示这 6 个寄存器的内容。
编辑:来自 http://publib.boulder.ibm.com/httpserv /ihsdiag/get_backtrace.html#pstack
I believe, depending on your version of Solaris (64 bit?), that the calling convention specifies the first 6 parameters of a function be passed by registers. Even if they're not being used, your debugger may just be showing the contents of these 6 registers.
Edit: from http://publib.boulder.ibm.com/httpserv/ihsdiag/get_backtrace.html#pstack