Linux 调试阶段命令,10个用于对Linux进程进行故障排除和调试的Strace命令

本文详细介绍了strace工具的10个实用命令,包括跟踪进程、查看系统调用摘要、时间戳显示等,帮助开发者诊断和优化Linux程序。通过实例展示如何安装、使用strace及其高级选项,是Linux运维和故障排查的必备指南。
摘要由CSDN通过智能技术生成

strace是一个功能强大的命令行工具,用于在类似Unix的操作系统(例如Linux)中调试和排除故障。它捕获并记录一个进程进行的所有系统调用以及该进程接收的信号。

它显示每个系统调用的名称以及括在圆括号中的参数以及其标准错误的返回值。您也可以选择将其重定向到文件。在本文中,我们将解释10个strace命令示例,用于对Linux系统中的程序和进程进行故障排除和调试。

9a3144521ddeb8941a6472532d8c5836.gif

如何安装

$ sudo apt install strace #Debian/Ubuntu

# yum install strace #RHEL/CentOS

# dnf install strace #Fedora 22+

跟踪Linux命令系统调用

$ strace df -h

跟踪Linux进程PID

如果某个进程已经在运行,则可以通过简单地传递其PID来跟踪它,如下所示:这将在屏幕上显示继续输出,以显示该进程正在进行的系统调用,要结束该进程,请按[Ctrl + C]

$ sudo strace -p 3569

获取Linux进程摘要

使用-c标志,可以生成每个系统调用的总时间,调用和错误的报告,如下所示。

$ sudo strace -c -p 3569

系统调用期间打印指令指针

-i选项在程序进行每个系统调用时显示指令指针。

$ sudo strace -i df -h

显示每个跟踪输出时间

$ sudo strace -t df -h

在系统调用中打印命令花费的时间

要显示程序在每个系统调用的开始和结束之间的时间差,请使用-T选项。

$ sudo strace -T df -h

仅跟踪特定的系统调用

在下面的命令中,trace = write被称为限定表达式,其中trace是限定符(其他包括signal,abbrev,verbose,raw,read或write)。在这里,write是限定符的值。

$ sudo strace -e trace=write df -h

根据特定条件跟踪系统调用

让我们看一下如何跟踪与给定事件类别有关的系统调用。此命令可用于跟踪涉及过程管理的所有系统调用。

$ sudo strace -q -e trace=process df -h

将跟踪输出重定向到文件

要将发送到标准错误的跟踪消息写入文件,请使用-o选项。这意味着仅命令输出将打印在屏幕上,如下所示。

$ sudo strace -o df_debug.txt df -h

显示Strace的一些调试输出

要显示strace工具的调试信息,请使用-d标志。

$ strace -d df -h

有关更多信息,请参见strace手册页。

$ man strace

5.0

01

Post Views:

450

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值