如何使用Strace调试工具_php实例

straceLinux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统呼叫及它所接收的系统信息。
strace是一个有用的小工具,它可以通过跟踪系统调用来让你知道一个程序在后台所做的事情。Strace是一个基础的调试工具,在大多数Linux系 统上默认已经安装;但是即便你不是在跟踪一个问题的时候它也是一个极好的软件。它能告诉你很多关于一个Linux程序怎样工作的信息。

让我们以一个简单的 UNIX 命令 pwd 作为开始,然后更深入地研究该命令在完成其任务的过程中进行了哪些工作。启动 xterm 以创建一个进行实验的受控环境,然后输入下面的命令:

$ pwd
 
这个 pwd 命令显示了当前的工作目录。在我的计算机上,当时的输出是:
 
/home/bill/
 
一个如此简单的函数掩饰了该命令底层的复杂性(顺便说一下,所有的计算机程序都是这样的)。要真正地了解其复杂性,请使用 strace 工具再次运行 pwd 命令:

$ strace pwd

通过该命令,您可以看到,在显示和列举当前工作目录的过程中,UNIX 计算机执行了相当多的操作.

时间: 2024-09-16 22:57:44

如何使用Strace调试工具_php实例的相关文章

基于Linux调试工具strace与gdb的常用命令总结_php实例

strace和gdb是Linux环境下的两个常用调试工具,这里是个人在使用过程中对这两个工具常用参数的总结,留作日后查看使用.strace调试工具strace工具用于跟踪进程执行时的系统调用和所接收的信号,包括参数.返回值.执行时间.在Linux中,用户程序要访问系统设备,必须由用户态切换到内核态,这是通过系统调用发起并完成的.strace常用参数:-c 统计每种系统调用执行的时间.调用次数.出错次数,程序退出时给出报告-p pid 跟踪指定的进程,可以使用多个-p同时跟踪多个进程-o file

Windows7下PHP开发环境安装配置图文方法_php实例

      操作系统:Windows 7 Ultimate       WEB服务器:IIS 6.1(内部版本7600).       数据库:MySql5.0.67       PHP版本:5.2.13       我还担心Win7下可能会不兼容,结果是一点问题都没有.    一.安装MySql数据库       MySql数据库在这里下载:http://www.mysql.com/downloads/ 客户端工具Navicat(导航猫)在这里下载:http://www.navicat.com

php开发留言板的CRUD(增,删,改,查)操作_php实例

项目结构: 开发留言板的CRUD(增,删,改,查)操作_php实例-angularjs crud实例"> 添加页面:                                说明:这里只注重操作,对界面的美工没有下工夫,希望大家理解...... 列表页面: 修改页面: 项目中所需的sql: 复制代码 代码如下: create database form; use form; CREATE TABLE `message` ( `id` tinyint(1) NOT NULL auto_

php开发文档 会员收费1期_php实例

介绍 最新项目--会员收费,目的是要以更好的展现形式表现给用户,以及添加了新功能(会员机制). 索引 流程图 1> 展示界面 2> 获取折扣价格 接口说明 http请求脚本(curl或socket) 测试数据 流程图 其中里面的demo:是通过url进行展现,里面的mst是参数,通过不同的参数进行展现.如:http://www.demo.com/?mst=1表示参数为1的demo样式. 展示界面(4种情况)开发文档 会员收费1期_php实例-软件开发设计文档实例">获取折扣价格

移植strace调试工具到arm平台

strace工具是一个非常强大的工具,是调试程序的好工具.要移植到arm平台,就需要使用交叉编译工具编译生成静态链接的可执行文件.具体步骤如下:1.下载 strace-4.5.16      移植strace调试工具到arm平台 由Linux系统中文网(Linux521.com)编辑收集整理,除Linux521注明原创文章外,其版权归原作者所有.如果您在学习中遇到问题欢迎在下面的评论中留言,我们会尽全力解答您的问题.   strace工具是一个非常强大的工具,是调试程序的好工具.要移植到arm平

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

参考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)str

Windows和Linux中php代码调试工具Xdebug的安装与配置详解_php实例

一.为什么需要Debugger? 很多PHP程序员调试使用echo.print_r().var_dump().printf()等,其实对 于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以 看出来(当然可能还需要使用一些时间函数).那么我们为什么还需要一个专门的调试程序来监控我们的程序运行呢? 这个问题的答案不妨留到后面来揭晓. 二.什么是Xdebug? Xdebug是一个开放源代码的PHP程序调试器(

如何使用GDB调试PHP程序_php实例

一般来说,GDB主要完成下面四个方面的功能: (1)启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. (2)可让被调试的程序在你所指定的调置的断点处停住.(断点可以是条件表达式) (3)当程序被停住时,可以检查此时你的程序中所发生的事. (4)动态的改变你程序的执行环境. 1.简介 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.同时GDB也具有例如ddd这样的图形化

Yii调试SQL的常用方法_php实例

Yii调试SQL主要有以下方法: 一.系统自带调试: 首先index.php开启调试模式: // remove the following lines when in production mode defined('YII_DEBUG') or define('YII_DEBUG',true); // specify how many levels of call stack should be shown in each log message defined('YII_TRACE_LEVE