搜索

10.2. 使用 ltrace

download PDF

要在您要分析的程序中运行 ltrace 工具:

$ scl enable devtoolset-11 'ltrace program argument...'

使用您要 分析的程序的名称替换 program,使用您要提供的任何命令行选项和参数替换 program。或者,您可以使用 -p 命令行选项以及进程 ID 在已经运行的进程中运行实用程序:

$ scl enable devtoolset-11 'ltrace -p process_id'

请注意,您可以使用 scl 程序执行任何命令,从而导致使用 Red Hat Developer Toolset 二进制文件运行它,而不是 Red Hat Enterprise Linux 系统等同的 Red Hat Enterprise Linux 系统。这可让您以 Red Hat Developer Toolset ltrace 作为默认值运行 shell 会话:

$ scl enable devtoolset-11 'bash'
注意

在任意时间点验证您使用的 ltrace 版本:

$ which ltrace

Red Hat Developer Toolset 的 ltrace 可执行文件路径以 /opt 开头。另外,您可以使用以下命令确认与 Red Hat Developer Toolset ltrace 的版本号匹配:

$ ltrace -V

10.2.1. 将输出重定向到文件

默认情况下,l trace 会打印每个系统调用的名称,其参数和返回值到标准错误输出。要将这个输出重定向到文件,请使用 -o 命令行选项以及文件名:

$ scl enable devtoolset-11 'ltrace -o file_name program argument...'

使用文件名替换 file_name

例 10.1. 将输出重定向到文件

考虑从 例 8.1 “使用调试信息编译 C 程序”fibonacci 文件的稍加修改版本。这个可执行文件显示 Fibonacci 序列,并可以选择指定要列出此序列的多少个成员。在此文件上运行 ltrace 实用程序并将 trace 输出重定向到 fibonacci.log

$ scl enable devtoolset-11 'ltrace -o fibonacci.log ./fibonacci 20'
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765

这会在当前工作目录中创建一个名为 fibonacci.log 的纯文本文件。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.