博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
strace命令(收集整理,常看常新)
阅读量:7097 次
发布时间:2019-06-28

本文共 1771 字,大约阅读时间需要 5 分钟。

starce的用途和参数:http://man.linuxde.net/strace(linux命令大全)

strace命令是一个集诊断、调试、统计与一体 的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的。当然 strace与专业的调试工具比如说gdb之类的是没法相比的,因为它不是一个专业的调试器。
来自:
strace命令是一个集诊断、调试、统计与一体 的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解应用工作过程的目的。当然 strace与专业的调试工具比如说gdb之类的是没法相比的,因为它不是一个专业的调试器。
来自:

 

以下是学习strace时看到的比较好的文章,收藏以便随时学习!

1. 火丁笔记:

内容:服务器负载过高解决:strace分析php调用系统耗时,里边用了pgrep命令,参看:

内容:手把手教你用Strace诊断问题

 

2.Nginx+PHP-FPM优化技巧总结 

内容: php的各种技巧,还有一个看rango的php7中的图表工具。

 

3.使用strace追踪多个进程 :

内容:因为php-fpm会有多个进程,博客中写了个脚本,里边用了pidof命令,是显示全部进程pid的,敲一下就知道了。

pidof命令和pgrep命令有点像呢~~

 

4.利用strace调试nginx : 

内容:里边详细讲了每个strace的调用的含义,可以查看。

 

5.整理

 strace分析nginx-fastcgi-php的调用:

 strace分析redis的pconnect长连接

 使用strace, ltrace寻找故障原因的线索

 使用strace定位系统疑难杂症

 

6.一个论坛的提问:

strace -p PID分析php-fpm进程at("/data/tdocs/webroot/go/./Widget/boutique.inc.php", 0x7fffc74cb320) = -1 ENOENT (No such file or directory)lstat("/data/tdocs/webroot/go/./Widget/openapi.inc.php", 0x7fffc74cb320) = -1 ENOENT (No such file or directory)lstat("/data/tdocs/webroot/go/./Widget/groupnew.inc.php", 0x7fffc74cb320) = -1 ENOENT (No such file or directory)lstat("/data/tdocs/webroot/go/./Widget/groupStatistical.inc.php", 0x7fffc74cb320) = -1 ENOENT (No such file or directory)lstat("/usr/share/pear/Widget/groupStatistical.inc.php", 0x7fffc74cb320) = -1 ENOENT (No such file or directory)lstat("/usr/share/php/Widget/groupStatistical.inc.php", 0x7fffc74cb320) = -1 ENOENT (No such file or directory) 怎么找不到文件呢?这是程序员写的程序有问题吗?

解答:

如果我在程序里用file_exists($file)来判断文件存不存在,如果这个文件不存在,你strace里就会显示这种情况,其实PHP代码没有错。

那就是你include文件的时候没使用绝对路径(include '/a.php')或者相对路径(include './a.php'),你直接使用了include 'a.php',这种情况的话,先从当前目录找到文件存不存在,然后再从include_path查看文件存不存在。 我这些都是打个比方,strace的提示,确实是PHP在找这个文件,没找到,但并不是说PHP代码就有问题

 

转载地址:http://tzaql.baihongyu.com/

你可能感兴趣的文章
修改Linux时间
查看>>
Android SDK Manager资源下载
查看>>
mycncart操作使用教程 - 布局
查看>>
mysql,oracle批量导入数据
查看>>
顶天立地
查看>>
GO语言range的用法
查看>>
在现有WinForms应用中添加C1Themes主题控件
查看>>
Android.mk中配置多个AndroidManifest.xml
查看>>
WordPress 使用 Code Snippets 管理代码片段
查看>>
tensorflow初探---模型文件保存和加载
查看>>
Swift语言从天而降,能否掀起新一轮的科技革命?
查看>>
测试网卡流量shell脚本
查看>>
mybatis同时插入多条语句
查看>>
获得执行计划方法-一 ORACLE AUTOTRACE
查看>>
我的友情链接
查看>>
32位与64位操作系统的区别
查看>>
CentOS下nginx、resin、memcached整合
查看>>
【分享】Google镜像站网址
查看>>
IK插件安装
查看>>
centos6.5安装git
查看>>