ltrace Linux 命令ltrace Linux 命令ltrace Linux 命令ltrace Linux 命令
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

ltrace Linux 命令

ltrace Linux 实用工具用于拦截和记录对系统上共享库的动态调用。该工具对于诊断和调试非常有用。它使用动态库挂钩机制,限制其仅显示文件或标准错误输出中的共享库调用。

本指南介绍了如何使用 ltrace 以及帮助您入门的安装和使用示例。

在 Linux 中安装 ltrace

对于 Debian 系统,可以通过以下命令使用 apt 安装 ltrace。

$ sudo apt install ltrace

对于 RHEL 或 CentOS,命令为:

$ sudo yum install ltrace

如何使用 ltrace

您可以使用以下语法轻松地将 ltrace 与程序一起使用。

$ ltrace [program] [options]

例如,让我们使用 touch 命令创建随机文件,并使用 ltrace 来查看它们的行为。

$ ltrace touch file1.txt 2.txt 3 4

它仅返回退出状态 0 以表明文件已创建。这里,没有发生太多活动,但是如果我们尝试创建涉及不同动态调用的存档文件,我们将获得更多详细信息。

我们将使用 -f 标志,该标志在进程创建子进程时对其进行跟踪。我们首先创建一个存档文件,然后在跟踪子进程时对其进行压缩,如下图所示。

使用 ltrace,-p 选项允许使用进程 ID 来跟踪正在运行的进程的动态调用。

$ ltrace -p [process-id]

在下面的示例中,我们在 ID 为 47168 的正在运行的进程上使用 ltrace。

-r ltrace 选项显示与每条跟踪行关联的相对时间戳。例如,当使用 cat 命令创建文件时,我们可以使用 -r 选项,如下面的输出所示。

中断后,时间戳显示在下面。与相对时间戳类似的是 -t,它添加与每条跟踪线关联的一天中的时间。您可以使用 -tt 来包含微秒。

在我们的例子中,我们正在运行一个简单的 ltrace 进程,但您可以看到当天的时间显示在左侧。

使用-S标志查看与进程关联的库和系统调用。

到目前为止,我们已经了解了如何使用 ltrace 并在标准错误输出上显示结果。如果您需要将输出重定向到文件,-o 标志可以帮助您。例如,要将上例中检索到的库和系统调用存储到名为 demo1.txt 的文件中,命令将为:

$ ltrace -o demo1.txt -S ls

一旦我们运行 ltrace,该文件就会创建,如果我们打开它,我们会看到内容类似于在标准错误输出中运行相同的命令。将输出重定向到文件是存储结果以供参考并保持终端干净的好方法。

有时,您需要指定与 ltrace 一起使用的库调用。可以使用-e选项来做到这一点。您只需要使用一系列规则,并使用识别库SONAME或符号名称的模式来指定规则。您可以查看手册页以了解更多信息使用一系列规则和模式,但一般语法如下。

$ ltrace -e [chain-rules] [program]

将chain-rules替换为模式,并添加拦截动态库调用的程序;你应该可以走了。

包起来

ltrace Linux 命令非常适合拦截和记录系统上的所有动态库调用。本指南通过各种示例介绍了使用 ltrace 的不同方法。使用本指南,您现在可以轻松地使用 ltrace。

©2015-2025 艾丽卡 support@alaica.com