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. Win7怎么用IIS发布网站系统 部署项目

      确保系统上已经安装IIS,如果没有安装 请到[控制面板]→[程序]→[程序和功能]→[打开或关闭Windows功能] 选中Internet 信息服务下面的所有选项,确定   获得发布好的程序文件 ...

  2. filter,map,reduce,lambda(python3)

    1.filter filter(function,sequence) 对sequence中的item依次执行function(item),将执行的结果为True(符合函数判断)的item组成一个lis ...

  3. BZOJ 2648: SJY摆棋子

    2648: SJY摆棋子 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 2968  Solved: 1011[Submit][Status][Disc ...

  4. js-FCC算法-No repeats please字符串的全排列

    把一个字符串中的字符重新排列生成新的字符串,返回新生成的字符串里没有连续重复字符的字符串个数.连续重复只以单个字符为准 例如, aab 应该返回 2 因为它总共有6中排列 (aab, aab, aba ...

  5. 【bzoj2038】 小Z的袜子(hose)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2038 (题目链接) 转自:http://blog.csdn.net/bossup/article/d ...

  6. Bmob开发指南【android端】

    作为一个开发者,数据的存储,用户的登陆,验证等操作,对程序来说是必不可少的,下面我们将从Bmob的基本信息开始讲起: [Bmob] 官网:   http://www.bmob.cn/ 帮助文档:htt ...

  7. Java Attach API

    catalog . instrucment与Attach API . BTrace: VM Attach的两种方式 . Sun JVM Attach API 1. instrucment与Attach ...

  8. shell实现的守护进程

    代码本来是别人那里拿来的,自己又改了下,给busybox用. #! /bin/sh PRO_PATH=/opt/myapp PROGRAM=packet_analyzer while true ; d ...

  9. bos启动56898服务器配置界面报错

    //文件路径 /easweb/runtime/server/deploy/portal.ear/portal.war/WEB-INF/config/spring/applicationContext- ...

  10. AndroidStudio不能解析R的一种可能

    最近在做一个APP,突然就无法编译了,提示信息: 查了半天也没找到好的解决办法,最后想起来误删了一个文件,然后Ctrl+Z回退了事,结果不知为何,那个图片文件损坏了,倒是R无法编译出来,方才报错. 记 ...