whocalls [-l wholib] [-s] funcname executable [arguments]...
whocalls 是一个基于ld.so.1(1)的 Link-Auditing 功能的实用程序的简单示例,它允许跟踪给定的函数调用。有关 Link-Auditing 机制的详细描述,请参见Oracle Solaris 11.2 链接程序和库指南 。executable 通常可以和任何关联的参数一起运行。每次调用 funcname 过程时,都会在标准输出中显示该过程的参数以及栈跟踪。
支持以下选项:
指定要使用的备用 who.so Link-Auditing 库。
如果可用,检查并使用 .symtab 符号表中的局部符号。尽管这比使用 .dynsym 符号表成本高一点,但可以生成更详细的栈跟踪信息。
以下示例跟踪一个简单的 helloworld 程序对 printf() 的调用:
example% whocalls printf helloworld printf(0x106e4, 0xef625310, 0xef621ba8) helloworld:main+0x10 helloworld:_start+0x5c Hello World
有关下列属性的说明,请参见 attributes(5):
|