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

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

来自: http://man.linuxde.net/strace

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

来自: http://man.linuxde.net/strace

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

1. 火丁笔记:

http://huoding.com/2013/10/06/288

内容:服务器负载过高解决:strace分析php调用系统耗时,里边用了pgrep命令,参看:http://www.cnblogs.com/leezhxing/p/4519279.html

http://huoding.com/2015/10/16/474

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

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

http://blog.csdn.net/dc_726/article/details/12340349

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

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

http://www.ttlsa.com/tools/use-strace-to-track-multiple-processes/

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

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

4.利用strace调试nginx :

http://book.51cto.com/art/201305/395383.htm

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

5.整理

 strace分析nginx-fastcgi-php的调用:http://jackyrong.iteye.com/blog/1159278

strace分析redis的pconnect长连接http://blog.csdn.net/qmhball/article/details/46988111

使用strace, ltrace寻找故障原因的线索 http://blog.csdn.net/delphiwcdj/article/details/7387325

使用strace定位系统疑难杂症http://fishcried.com/2014-10-08/%E4%BD%BF%E7%94%A8strace%E8%BF%9B%E8%A1%8C%E8%B0%83%E8%AF%95/

6.一个论坛的提问:

strace -p PID分析php-fpm进程

at("/data/tdocs/webroot/go/./Widget/boutique.inc.php", 0x7fffc74cb320) = - ENOENT (No such file or directory)
lstat("/data/tdocs/webroot/go/./Widget/openapi.inc.php", 0x7fffc74cb320) = - ENOENT (No such file or directory)
lstat("/data/tdocs/webroot/go/./Widget/groupnew.inc.php", 0x7fffc74cb320) = - ENOENT (No such file or directory)
lstat("/data/tdocs/webroot/go/./Widget/groupStatistical.inc.php", 0x7fffc74cb320) = - ENOENT (No such file or directory)
lstat("/usr/share/pear/Widget/groupStatistical.inc.php", 0x7fffc74cb320) = - ENOENT (No such file or directory)
lstat("/usr/share/php/Widget/groupStatistical.inc.php", 0x7fffc74cb320) = - 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代码就有问题

strace命令(收集整理,常看常新)的更多相关文章

  1. 【Python从入门到精通】(十)Python流程控制的关键字该怎么用呢?【收藏下来,常看常新】

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 这篇文章主要介绍Python中流程控制的关键字的使用,涉及到if else,for,while等关键字 干货满满,建议收藏,需要用到时常看看. 小 ...

  2. Linux下查找命令(收集整理)

    原文:http://blog.csdn.net/sunstars2009918/article/details/8510878 一.Linux查找文件的相关命令 常 用 命 令 简要中文说明 程序所在 ...

  3. git命令收集整理

    git init # 初始化本地git仓库(创建新仓库) git config --global user.name "xxx" # 配置用户名 git config --glob ...

  4. 常看常遇见之一——BS架构VS CS架构

    常看常遇见之一——BS架构VS CS架构 1.BS架构 即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构.在这种结构下,用户 ...

  5. 收集整理的oracle常用命令大全

    一.Oracle的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  6. [转帖]PKI技术原理(收集 整理 归纳)

    PKI技术原理(收集 整理 归纳) https://blog.51cto.com/3layer/20430 总结归纳的 灰常好.. 7layer关注8人评论39427人阅读2007-03-14 11: ...

  7. 开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发

    [原][开源框架]Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位... 时间 2015-01-05 10:08:18 我是程序猿,我为自己代言 原文  http: ...

  8. linux的strace命令用法

    strace命令用法 调用:strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] …[ -ofile ] [ -ppid ] … [ -sstrsize ...

  9. strace命令详解

    转自: http://www.cnblogs.com/ahuo/p/4150623.html 备注: 这篇博文学到的不仅仅是 strace 这个命令,还有前辈的排错思路,致敬! strace 命令是一 ...

随机推荐

  1. iOS开发:读取pdf文件

    方法一:使用QLPreviewController #pragma mark  浏览存在沙盒的文件 -(void)quickLook { QLPreviewController *QLPreviewV ...

  2. gbdt推导和代码

    GBDT算法推导过程 m次迭代,n个类别,那么就意味着学习了m*n棵回归树 train过程:假设有8个训练样本,3个类别 步骤一.假设所有样本的F矩阵,F矩阵是8*3的,F矩阵刚开始全为0,而实际每个 ...

  3. 时间复杂度---我又要想起初中数学老师的脸了xxxxx

    时间复杂度: 常用的时间复杂度有:常数级,对数级,线性级 线性对数级 平方级,立方级别,多项式级别,指数级别,阶乘级别 这里我们主要探讨对数级,线性级,平方级,指数级---为什么不讨论其他的?别的我也 ...

  4. jquery-焦点定位追加内容

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. 【USACO 2.2】Party Lamps

    四种开关,n盏灯,1:改变所有灯状态,2:改变奇数灯状态,3:改变偶数灯状态,4:改变3k+1灯状态 给你按开关的总次数c和部分灯限制条件(开或关),一开始都是开着的.($c \leq 10000,n ...

  6. the useful for loop

    cp four_letter four_letter_bk for i in `ls /media/10TB/Stats/Assembly_marker` do cd /media/10TB/Stat ...

  7. HDFS文件和HIVE表的一些操作

    1. hadoop fs -ls  可以查看HDFS文件 后面不加目录参数的话,默认当前用户的目录./user/当前用户 $ hadoop fs -ls 16/05/19 10:40:10 WARN ...

  8. linux中授予普通用户root权限

    本来也更改了/etc/passwd,改成0:0淡水其他地方又出问题,所以又改回来了. chown -R hxsyl .Spark_Relvant 当前在hadoop-2.6.4下,‘.’表示当前目录.

  9. Windows Server 2012/2016在桌面上添加计算机等图标

    [CMD]->输入[rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0],回车:

  10. C++11之thread线程

    今天由于项目需求(其实是某门课的一个大作业,不好意思说出口啊...),想要使用多线程.相信大家一般用的是linux上的POSIX C或windows上的线程库,然而这些线程库以来于特定系统,并不“标准 ...