linux命令之调试工具strace的深入分析

 更新时间:2013年06月03日 09:13:23   作者:  
本篇文章是对调试工具strace的使用进行了详细的分析介绍,需要的朋友参考下
参考
1《linux的strace命令(详解).txt》 新浪电子书可下载
2man strace
一个基本上通用的 完整的用法:
strace -o output.txt -T -tt -e trace=all -p 28979
上面的含义是 跟踪28979进程的所有系统调用(-e trace=all),并统计系统调用的花费时间,以及开始时间(并以可视化的时分秒格式显示),最后将记录结果存在output.txt文件里面。
必须记住的几个用法
1)strace -p pid  可以跟踪某个后台进程
2)strace -o filename 把跟踪结果输出到文件
3)strace -T 记录每个系统调用花费的时间,可以看看哪个系统调用时间长
4)strace -t (或者 -tt)记录每个系统调用发生是的时间(时分秒的格式)
5)strace -s 1024 显示系统调用参数时,对于字符串显示的长度, 默认是32,如果字符串参数很长,很多信息显示不出来。
6)strace -e trace=nanosleep 只记录相关的系统调用信息。
    -e trace=network // 只记录和网络api相关的系统调用
    -e trace=file // 只记录涉及到文件名的系统调用
    -e trace=desc // 只记录涉及到文件句柄的系统调用
还有其他的包括process,ipc,signal等。
一个经典的,通过strace查看一个进程所有相关打开文件的排查过程,参考《linux的strace命令(详解).txt》 新浪电子书可下载
如果开发程序没有一个强大的工具相伴,那么开发效率会非常低,甚至遇到问题无从下手. 现在开始学习linux下的强大的调试工具strace,并记录于此.
strace
1)类似于windows下的processexp.exe
   可以监控系统调用
2)类似于windows下的depand工具
   可以检查程序的依赖库. 比linux下的ldd更强大.
   参考:strace命令用法 
   点击下载
   案例:
strace帮助我解决不知日志文件被打印到哪的问题.
   用strace跟踪server
   /usr/bin/strace -p pid -o out.file
   然后执行client端,然后结束strace,查看out.file 搜索write,open的系统调用

相关文章

  • php 替换文章中的图片路径,下载图片到本地服务器的方法

    php 替换文章中的图片路径,下载图片到本地服务器的方法

    下面小编就为大家分享一篇php 替换文章中的图片路径,下载图片到本地服务器的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • 有关PHP 中 config.m4 的探索

    有关PHP 中 config.m4 的探索

    这篇文章主要介绍了PHP 中 config.m4 的探索,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • PHP支付系统设计与典型案例分享

    PHP支付系统设计与典型案例分享

    这篇文章主要为大家详细介绍了PHP支付系统设计与典型案例,可以用作小型支付系统,也可以用做第三方应用接入开放平台时的支付流水系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 三个类概括PHP的五种设计模式

    三个类概括PHP的五种设计模式

    PHP的五种设计模式主要包括工厂模式,单元素模式,观察者模式,命令链模式,策略模式
    2012-09-09
  • 基于laravel Request的所有方法详解

    基于laravel Request的所有方法详解

    今天小编就为大家分享一篇基于laravel Request的所有方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • php微信公众号开发之简答题

    php微信公众号开发之简答题

    这篇文章主要为大家详细介绍了php微信公众号开发之简答题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 解决Laravel5.5下的toArray问题

    解决Laravel5.5下的toArray问题

    今天小编就为大家分享一篇解决Laravel5.5下的toArray问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • PHP 并发场景的几种解决方案

    PHP 并发场景的几种解决方案

    这篇文章主要介绍了PHP 并发场景的几种解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • PHP6连接SQLServer2005的三部曲

    PHP6连接SQLServer2005的三部曲

    PHP6怎么连接sqlserver2005呢?其实方法步骤很简单的。下面脚本之家小编给大家介绍PHP6连接SQLServer2005的三部曲,感兴趣的朋友参考下吧
    2016-04-04
  • 基于Laravel 多个中间件的执行顺序详解

    基于Laravel 多个中间件的执行顺序详解

    今天小编就为大家分享一篇基于Laravel 多个中间件的执行顺序详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10

最新评论