zoukankan      html  css  js  c++  java
  • strace命令基本用法

    简介

     strace是一个可用于诊断、调试和教学的Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等

    strace的两种运行模式

    1、直接追踪某些命令的执行

    语法

    strace <待追踪的命令>

    例如

    [root@iZzm446eh1ux98Z ~]# strace ls /

    2、追踪某个守护进程

    语法

    strace -p pid

     strace常用选项

    从实例中看:

    strace -tt -T -v -f -e trace=file -o /data/log/strace.log -s 1024 -p 23489
    -tt  在每行输出的前面,显示毫秒级别的时间
    -T   显示每次系统调用所花费的时间
    -v   对于某些相关调用,把完整的环境变量,文件stat结构等打出来。
    -f   跟踪目标进程,以及目标进程创建的所有子进程
    -e   控制要跟踪的事件和跟踪行为,比如指定要跟踪的系统调用名称
    -o   把strace的输出单独写到指定的文件
    -s   当系统调用的某个参数是字符串时,最多输出指定长度的内容,默认是32个字节
    -p   指定要跟踪的进程pid, 要同时跟踪多个pid, 重复多次-p选项即可。

    strace的-e trace选项

    要跟踪某个具体的系统调用,-e trace=xxx即可。但有时候我们要跟踪一类系统调用,比如所有和文件名有关的调用、所有和内存分配有关的调用。strace提供了几类常用的系统调用组合名字。

    -e trace=file     跟踪和文件访问相关的调用(参数中有文件名)
    -e trace=process  和进程管理相关的调用,比如fork/exec/exit_group
    -e trace=network  和网络通信相关的调用,比如socket/sendto/connect
    -e trace=signal    信号发送和处理相关,比如kill/sigaction
    -e trace=desc  和文件描述符相关,比如write/read/select/epoll等
    -e trace=ipc 进程见同学相关,比如shmget等

    关于经典网络网卡启动的问题在日记里

  • 相关阅读:
    iOS-25个小技巧
    iOS-UITableView的使用
    iOS-UIPickerView
    iOS-UIStoryboard和UIResponder
    javascript弹出层-DEMO001
    jQuery源码分析-02正则表达式-RegExp-常用正则表达式
    JSON动态生成树
    回顾码农历程总结2013 期待2014
    大数据量分页存储过程效率测试附代码
    关于对象序列化json 说说
  • 原文地址:https://www.cnblogs.com/zh-dream/p/13288455.html
Copyright © 2011-2022 走看看