在 Linux/ARM 中跟踪库调用的工具

j0k*_*ker 8 linux debugging arm trace shared-library

我正在寻找一种工具,它允许跟踪对 Linux/ARM 中共享库中函数的调用。基本上,我希望能够指定一个命令行并让这个工具生成被调用库函数和传递参数的记录。我想可以为此使用某种形式的函数挂钩。

我知道ltrace,它提供了我需要的功能。但是,ltrace对我不起作用,因为它:

  • 在跟踪更复杂的程序时经常出现段错误。
  • 很慢。

我正在寻找更强大的替代方案。速度不错,但不是我主要关心的问题。首先,我想有一种方法来跟踪可以分析任何(非回避)程序的库调用。

Sysdig 也不能在 ARM 中工作,并且 dtrace 的端口仍然只在 NetBSD 中处于测试阶段。

有没有人知道这种处于可用状态的工具?

J. *_*lor 1

你看过LTTng吗?它是一个内核空间/用户空间跟踪框架,适用于多种体系结构,包括 ARM。

您可以使用LTTng-UST设置用户空间代码的跟踪。但是您必须重新编译要跟踪的共享库,并添加 LTTng 跟踪点。

以下是官方 lttng 文档中有关设置用户空间跟踪的指南:跟踪您自己的用户应用程序

我不知道这对您的情况是否有帮助,但还有一个关于在嵌入式平台(包括 ARM)上编译/安装 lttng 的 Stack Overflow 线程:How do I build and deploy LTTng to an Embedded Linux system?