'\" te .\" Copyright (c) 2007, 2014, Oracle and/or its affiliates.All rights reserved. .TH whocalls 1 "2014 年 4 月 23 日" "SunOS 5.11" "用户命令" .SH 名称 whocalls \- 报告对特定过程的调用 .SH 用法概要 .LP .nf \fBwhocalls\fR [\fB-l\fR \fIwholib\fR] [\fB-s\fR] \fIfuncname\fR \fIexecutable\fR [\fIarguments\fR]... .fi .SH 描述 .sp .LP \fBwhocalls\fR 是一个基于 \fBld.so.1\fR(1)(允许跟踪给定的函数调用)的 \fILink-Auditing\fR 功能的实用程序的简单示例。有关审计的更多信息,请参见\fI"Runtime Linker Auditing Interface"\fR in \fI《Oracle Solaris 11.3 Linkers and Libraries Guide》\fR。 .sp .LP \fIexecutable\fR 通常可以和任何关联的参数一起运行。每次调用 \fIfuncname\fR 过程时,都会在标准输出中显示该过程的参数以及栈跟踪。 .SH 选项 .sp .LP 支持以下选项: .sp .ne 2 .mk .na \fB\fB-l\fR \fIwholib\fR\fR .ad .RS 13n .rt 指定要使用的备用 \fBwho.so\fR \fILink-Auditing\fR 库。 .RE .sp .ne 2 .mk .na \fB\fB-s\fR\fR .ad .RS 13n .rt 如果可用,检查并使用 \fB\&.symtab\fR 符号表中的局部符号。尽管这比使用 \fB\&.dynsym\fR 符号表成本高一点,但可以生成更详细的栈跟踪信息。 .RE .SH 示例 .LP \fB示例 1 \fR跟踪函数调用 .sp .LP 以下示例跟踪一个简单的 \fBhelloworld\fR 程序对 \fBprintf()\fR 的调用: .sp .in +2 .nf example% \fBwhocalls printf helloworld\fR printf(0x106e4, 0xef625310, 0xef621ba8) helloworld:main+0x10 helloworld:_start+0x5c Hello World .fi .in -2 .sp .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性developer/base-developer-utilities .TE .SH 另请参见 .sp .LP \fBld.so.1\fR(1)、\fBsotruss\fR(1)、\fBattributes\fR(5) .sp .LP \fI《Oracle Solaris 11.3 Linkers and Libraries Guide》\fR