9.2. 使用 strace


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

$ scl enable devtoolset-11 'strace program argument...'scl enable devtoolset-11 'strace program argument...'scl enable devtoolset-11 'strace program argument...'scl enable devtoolset-11 'strace program argument...'scl enable devtoolset-11 'strace program argument...'
Copy to Clipboard Toggle word wrap

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

$ scl enable devtoolset-11 'strace -p process_id'scl enable devtoolset-11 'strace -p process_id'scl enable devtoolset-11 'strace -p process_id'
Copy to Clipboard Toggle word wrap

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

$ scl enable devtoolset-11 'bash'
Copy to Clipboard Toggle word wrap
注意

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

$ which strace
Copy to Clipboard Toggle word wrap

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

$ strace -V
Copy to Clipboard Toggle word wrap

9.2.1. 将输出重定向到文件

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

$ scl enable devtoolset-11 'strace -o file_name program argument...'scl enable devtoolset-11 'strace -o file_name program argument...'scl enable devtoolset-11 'strace -o file_name program argument...'scl enable devtoolset-11 'strace -o file_name program argument...'scl enable devtoolset-11 'strace -o file_name program argument...'scl enable devtoolset-11 'strace -o file_name program argument...'scl enable devtoolset-11 'strace -o file_name program argument...'
Copy to Clipboard Toggle word wrap

使用文件名替换 file_name

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

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

$ scl enable devtoolset-11 'strace -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
Copy to Clipboard Toggle word wrap

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

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat