Go to main content

手册页部分 1:用户命令

退出打印视图

更新时间: 2018年8月8日 星期三
 
 

whocalls(1)

名称

whocalls - 报告对特定过程的调用

用法概要

whocalls [-l wholib] [-s] funcname executable 
          [arguments]...

描述

whocalls 是一个基于 ld.so.1(1)(允许跟踪给定的函数调用)的 Link-Auditing 功能的实用程序的简单示例。有关审计的更多信息,请参见Oracle Solaris 11.4 Linkers and Libraries Guide》中的 "Runtime Linker Auditing Interface"

executable 通常可以和任何关联的参数一起运行。每次调用 funcname 过程时,都会在标准输出中显示该过程的参数以及栈跟踪。

选项

支持以下选项:

–l wholib

指定要使用的备用 who.so Link-Auditing 库。

–s

如果可用,检查并使用 .symtab 符号表中的局部符号。尽管这比使用 .dynsym 符号表成本高一点,但可以生成更详细的栈跟踪信息。

示例

示例 1 跟踪函数调用

以下示例跟踪一个简单的 helloworld 程序对 printf() 的调用:

example% whocalls printf helloworld
printf(0x106e4, 0xef625310, 0xef621ba8)
        helloworld:main+0x10
        helloworld:_start+0x5c
Hello World

属性

有关下列属性的说明,请参见 attributes(7)

属性类型
属性值
可用性
developer/base-developer-utilities

另请参见

ld.so.1(1)sotruss(1)attributes(7)

Oracle Solaris 11.4 Linkers and Libraries Guide