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


Posted in PHP onJune 03, 2013

参考
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 相关文章推荐
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
May 04 PHP
php实现自动获取生成文章主题关键词功能的深入分析
Jun 03 PHP
phpmyadmin中禁止外网使用的方法
Nov 04 PHP
php数组函数array_key_exists()小结
Dec 10 PHP
深入理解PHP中的empty和isset函数
May 26 PHP
基于php实现的验证码小程序
Dec 13 PHP
Thinkphp 中 distinct 的用法解析
Dec 14 PHP
PHP单例模式定义与使用实例详解
Feb 06 PHP
PHP 中魔术常量的实例详解
Oct 26 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
php微信开发之谷歌测距
Jun 14 PHP
浅谈PHP之ThinkPHP框架使用详解
Jul 21 PHP
如何使用Strace调试工具
Jun 03 #PHP
鸡肋的PHP单例模式应用详解
Jun 03 #PHP
phpize的深入理解
Jun 03 #PHP
PHP不用第三变量交换2个变量的值的解决方法
Jun 02 #PHP
基于php socket(fsockopen)的应用实例分析
Jun 02 #PHP
深入PHP操作MongoDB的技术总结
Jun 02 #PHP
深入php数据采集的详解
Jun 02 #PHP
You might like
浅析php变量作用域的一些问题
2013/08/08 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
2015/06/17 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
巧妙破除网页右键禁用的十大绝招
2006/08/12 Javascript
不错的新闻标题颜色效果
2006/12/10 Javascript
jquery简单体验
2007/01/10 Javascript
让人印象深刻的10个jQuery手风琴效果应用
2012/05/08 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
2015/11/17 Javascript
解决wx.onMenuShareTimeline出现的问题
2016/08/16 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
BootStrap中Table隐藏后显示问题的实现代码
2017/08/31 Javascript
新手vue构建单页面应用实例代码
2017/09/18 Javascript
react以create-react-app为基础创建项目
2018/03/14 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
仿照Element-ui实现一个简易的$message方法
2020/09/14 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
2018/07/17 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
分享一个python的aes加密代码
2020/12/22 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
Sephora丝芙兰菲律宾官方网站:购买化妆品和护肤品
2017/04/05 全球购物
WoolOvers澳洲官方网站:英国针织服装公司
2018/05/13 全球购物
汽车专业毕业生推荐信
2013/11/12 职场文书
节电标语大全
2014/06/23 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
作风整顿剖析材料
2014/09/30 职场文书
幼师中班个人总结
2015/02/12 职场文书
python调试工具Birdseye的使用教程
2021/05/25 Python
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android
volatile保证可见性及重排序方法
2022/08/05 Java/Android