显示进程的所有堆栈历史

Displaying all stack history of a process

如何在 Solaris 上显示进程的所有函数调用?

dbx 和 pstack 打印调用堆栈。我想要的是进程调用的所有函数的列表。换句话说,该过程的几个 pstacks 的输出。

您可以使用带有 -u 选项的 truss 查看进程进行的所有函数调用。

truss -u a.out -u : yourprogram args ...

将显示对程序中的函数和库(如 libc)中的函数进行的所有调用。

truss -u a.out -u :: yourprogram args ...

还将跟踪从库函数到其他库函数的调用。输出会更多;对 printf 的调用将导致对 C 库函数的许多其他调用。