Debugging 跟踪库API的Solaris工具

Debugging 跟踪库API的Solaris工具,debugging,solaris,trace,dtrace,truss,Debugging,Solaris,Trace,Dtrace,Truss,我想跟踪应用程序调用的所有函数。在这里,我不是在寻找系统调用,而是库API的主要功能 我试过truss,它没有显示我期望的一些库API。 solaris中是否有类似linux中的“ltrace”这样的工具可以跟踪库调用? dtrace是否提供此信息?有两种方法可以获得您想要的: 索罗斯 DTrace pid提供程序 索罗斯效用 文件: 索罗斯 跟踪共享库过程调用 概要 描述 Sotrus执行指定的命令并生成它执行的库调用的跟踪。跟踪输出的每一行都报告在执行每个过程调用时动态对象之间发生的绑定。S

我想跟踪应用程序调用的所有函数。在这里,我不是在寻找系统调用,而是库API的主要功能

我试过truss,它没有显示我期望的一些库API。 solaris中是否有类似linux中的“ltrace”这样的工具可以跟踪库调用?
dtrace是否提供此信息?

有两种方法可以获得您想要的:

索罗斯 DTrace pid提供程序 索罗斯效用

文件:

索罗斯

跟踪共享库过程调用 概要

描述

Sotrus执行指定的命令并生成它执行的库调用的跟踪。跟踪输出的每一行都报告在执行每个过程调用时动态对象之间发生的绑定。SOTRUS通过过程链接表跟踪动态对象之间发生的所有过程调用,因此仅跟踪通过过程链接表绑定的那些过程调用。看

选择权

DTrace pid提供程序

Per:

pid提供程序

pid提供程序使您能够跟踪进程中的任何指令。 与大多数其他提供者不同,pid探测是根据需要创建的 在D程序中找到的探测器描述上。因此,没有 pid探针列在dtrace-l的输出中,直到 你自己启用的

用户函数边界跟踪

pid提供程序的最简单操作模式是用户 与fbt提供商进行空间模拟。下面的示例程序 跟踪从单个函数生成的所有函数项和返回 作用$1宏变量是命令的第一个操作数 行是要跟踪的进程的进程ID。2美元的宏 变量命令行上的第二个操作数是 跟踪所有函数调用的函数

另见:

DTrace pid提供程序

DTrace“pid”提供程序允许您跟踪内部执行 进程的一部分,如web浏览器或数据库。它记录在 原始的DTrace指南和即将出版的DTrace手册中。它是 而且功能强大且不稳定,是您最有可能使用的提供商 用枪打自己的脚

这里我将介绍pid提供程序并讨论 探测名称,包括提示和陷阱。这应该是有用的 任何使用DTrace的人的背景,包括运行其他 基于用户pid提供程序的DTrace脚本。如需进一步阅读,请参阅 我的pid提供者帖子的完整列表


虽然truss默认只显示系统调用,但如果使用-u选项请求库函数调用,它也可以显示库函数调用-u::将显示所有函数调用,或者您可以提供其他参数来筛选它显示的参数

/usr/bin/sotruss [-f] [-F bindfromlist] [-T bindtolist] 
    [-o outputfile] executable [executable arguments...]