当前位置: 首页 > news >正文

Linux命令-strace

strace 是一个用于跟踪系统调用和信号的工具,可以帮助分析程序的行为和问题。以下是 strace 命令的完整内容和详细说明:
功能说明
strace 命令可以用来跟踪系统调用和信号传递,帮助诊断和调试应用程序。通过捕获和解析系统调用信息,strace 提供了对程序运行时行为的深入了解。

参数列表
以下是 strace 命令的完整参数列表及其功能说明:
-i 输出系统调用的入口指针。
-q 禁止输出关于脱离的消息。
-r 打印出相对时间关于每个系统调用。
-t 在输出中的每一行前加上时间信息。
-tt 在输出中的每一行前加上时间信息,精确到微秒级。
-ttt 微秒级输出,以秒为单位表示时间。
-T 显示每个系统调用所耗费的时间。
-v 输出所有的系统调用。一些默认不输出的调用(如环境变量、状态、输入输出等)会被输出。
-V 输出 strace 的版本信息。
-x 以十六进制形式输出非标准字符串。
-xx 所有字符串以十六进制形式输出。
-a column 设置返回值的输出位置。默认为 40。
-e expr 指定一个表达式,用来控制如何跟踪。格式如下:[qualifier=][!]value1[,value2]…。qualifier 可以是 trace、abbrev、verbose、raw、signal、read、write 之一。默认为 trace。感叹号表示否定。例如:-e trace=open 表示只跟踪 open 调用。-e trace=!open 表示跟踪除了 open 以外的其他调用。
-o filename 将 strace 的输出写入文件 filename。
-p pid 跟踪指定的进程 pid。要同时跟踪多个进程,重复多次 -p 选项即可。
-s strsize 指定输出的字符串的最大长度。默认为 32。文件名始终全部输出。
-u username 以 username 的 UID 和 GID 执行被跟踪的命令。

常用示例
跟踪指定命令的系统调用

strace -o trace.log ls -l

这将跟踪 ls -l 命令的系统调用,并将输出保存到 trace.log 文件中。

跟踪指定进程的系统调用

strace -p 1234

这将跟踪进程 ID 为 1234 的进程的系统调用。

跟踪所有文件相关的系统调用

strace -e trace=file ls -l /etc

这将只跟踪与文件操作相关的系统调用,如 open、close、read、write 等。

记录系统调用的统计信息

strace -c -o stats.log ls -l

这将记录 ls -l 命令的系统调用统计信息,并将输出保存到 stats.log 文件中。

跟踪网络相关的系统调用

strace -e trace=network telnet example.com 80

这将只跟踪与网络相关的系统调用,如 socket、connect、sendto、recvfrom 等。

http://www.xdnf.cn/news/123697.html

相关文章:

  • 第13章 身份验证:使用Identity将用户添加到应用程序中
  • 多线程(线程安全)
  • 处理任务“无需等待”:集成RabbitMQ实现异步通信与系统解耦
  • 十分钟应急响应——自定义工具链整合实战
  • 致远oa部署
  • 炼锌废渣提取钴工艺流程
  • Powershell 命令实操
  • PCB 制造流程分步指南
  • 重磅更新!Nature再推出新子刊!(附Nature全目录下载)
  • 三维重建模块VR,3DCursor,MPR与VR的坐标转换
  • 【MongoDB】卸载、安装低版本
  • RabbitMQ 中的队列声明
  • 动态规划dp专题-(下)
  • Ollama工具调用(Tool Calls)业务应用案例
  • 网站高可用架构设计基础——高可用策略和架构原则
  • 实现Variant
  • Ubuntu中选择Python虚拟环境
  • 仿真每日一练 | ABAQUS应力松弛
  • 【Java 数据结构】泛型
  • golang的cgo的一点小心得
  • 智能电网第5期 | 老旧电力设备智能化改造:协议转换与边缘计算
  • Spring Boot默认缓存管理
  • 第J5周:DenseNet+SE-Net实战
  • 手机端本地服务与后端微服务的技术差异
  • 模板元编程(Template Metaprogramming, TMP)
  • Redis 完整配置模板
  • 【UML建模】starUML工具
  • 房地产安装工程师简历模板
  • BBRv2,v3 吞吐为什么不如 BBRv1
  • Python元组全面解析:从基础到高级应用指南