位置: 编程技术 - 正文

如何使用GDB调试PHP程序(gdb调试工具的使用)

编辑:rootadmin

推荐整理分享如何使用GDB调试PHP程序(gdb调试工具的使用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:如何使用gdb调试程序,如何使用gdb调试程序,如何使用gdb调试段错误,如何gdb调试动态启动的进程,如何使用gdb调试段错误,如何使用gdb调试ndpi reader源码,如何使用gdb调试程序错误,如何使用gdb调试段错误,内容如对您有帮助,希望把文章链接给更多的朋友!

一般来说,GDB主要完成下面四个方面的功能:

(1)启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 (2)可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) (3)当程序被停住时,可以检查此时你的程序中所发生的事。 (4)动态的改变你程序的执行环境。

1、简介

GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。同时GDB也具有例如ddd这样的图形化的调试端。

2、调试C/C++程序

直接上代码了

编译

1

g++ k.cpp -g -Wall -Werror -o main

开始调试

设置断点 break linenumber

设置观察点 watch var

可以看到是while那里,导致n越界了,fix

一些快捷命令

l ? listp ? print print {variable}c ? continues ? stepb - break break line_number/break [file_name]:line_number/break [file_name]:func_namer - runset <var> = <value>watch <var>

ENTER: pressing enter key would execute the previously executed command again.

如何使用GDB调试PHP程序(gdb调试工具的使用)

c/n/s的区别

&#;c or continue: Debugger will continue executing until the next break point.&#;n or next: Debugger will execute the next line as single instruction.&#;s or step: Same as next, but does not treats function as a single instruction, instead goes into the function and executes it line by line

3、调试PHP程序

PHP代码

开始调试,加上断点

加几个断点测试一下 syntax:break [file_name]:func_name,这里大致可以看一下 echo print等不是函数了

然后开始调试

我们还可以使用内置的gdbinit来调试

查看当前堆栈,PHP内核的执行过程

查看代码段

继续执行

到了execute_internal ,可以查看一下当前函数的一个状态

查看当前hashtable

继续执行输出c之后,回车即可,同样可以看到in_array的执行信息

还可以加一下监控watch、设置一些调试变量set 等等

其他的调试工具还有 strace 查看系统调用、ltrace 查看类库的调用、vld查看opcode。

以上内容是小编给大家分享的关于如何使用GDB调试PHP程序的全部内容,希望大家喜欢。

UPUPW 更新 位 Apache 系列 PHP 7.0 正式版 UPUPWPHP特点UPUPWPHP环境集成包Apache最新版全程采用Discuz!X2.5phpwind9.0dedecms5.7wordpress3.5.1等程序的UTF8版作为PHP环境的测试对象进行开发,完美运行以上程序!

thinkPHP中create方法与令牌验证实例浅析 本文实例讲述了thinkPHP中create方法与令牌验证。分享给大家供大家参考,具体如下:thinkPHP的create方法与令牌验证主要是涉及表单的安全性。代码如下:p

微信支付PHP SDK之微信公众号支付代码详解 这里假设你已经申请完微信支付1.微信后台配置如图我们先进行测试,所以先把测试授权目录和测试白名单添加上。测试授权目录是你要发起微信请求的

标签: gdb调试工具的使用

本文链接地址:https://www.jiuchutong.com/biancheng/276275.html 转载请保留说明!

上一篇:PHP MPDF中文乱码的解决方式(php中文乱码解决)

下一篇:UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版

  • 加工费怎么做账
  • 汇算清缴哪些需要调增调减
  • 税率为0的发票长啥样
  • 递延所得税资产和负债怎么理解
  • 个体工商户生产经营所得税税率表2021
  • 加计抵减申报表填写说明
  • 税负率怎么算计算公式举例说明
  • 发票红冲退税是全额退吗
  • 企业所得税如何计提会计分录
  • 零税率发票可以冲成本吗
  • 营改增后还有消费税吗
  • 机器设备进项税额是否要分期抵扣
  • 营改增对资产负债表的影响
  • 报废固定资产增值税税率
  • 进项票小于销项票怎么办
  • 坏账准备需要做账吗
  • 无偿赠送资产需要交哪些税
  • 采购过程中产生的物流成本案例分析
  • 少计提增值税0.01计入营业外
  • 当月进项留抵如何做账
  • 会计核算的一般对象
  • 累计折旧 减少
  • u盘怎么安装软件
  • xp系统电脑关机后又重启怎样处理
  • git pull远程
  • mmc.exe是什么进程
  • macOS 10.13允许任何来源没有了怎么办?macOS 10.13允许任何来源没了开启步骤
  • linux做raid命令
  • fte文件怎么打开
  • 公司备用金申请单
  • 废品损失的核算方式主要有
  • 清算期间会计分录
  • 导航栏不变,切换怎么办
  • 圆顶亭效果图
  • 除甲醛的净化器哪个品牌做得最好
  • nginx怎么搭建
  • 公司有个税怎么交
  • 资产负债表货币资金公式
  • h5支付功能
  • unet bn
  • React基础-JSX事件绑定-事件传参
  • vue使用计算属性声明在什么配置项中
  • 失业保险金支出项目14项
  • 母子公司之间的租赁房屋
  • 认缴制下怎样变更法人
  • mysql随机密码怎么看
  • mongodb基本使用
  • 个人所得税计算器公式
  • 银行贷款印花税是什么意思
  • 企业哪些账户可以取现金
  • 信用证保证金账户属于什么账户性质
  • 商家的促销
  • 航天信息服务费发票哪里打印
  • 发票未到货已入库会计分录 原材料
  • 已退货对方不开红字
  • 可供分配利润的计算公式
  • 租办公楼有什么讲究
  • mysql优化总结
  • win8操作
  • freebsd常用命令
  • G40/50-70、SR1000随机Linux改安装Win7系统的实现方法
  • dell t110服务器
  • SUSE Linux Enterprise Server 11 SP1 安装教程图文详解
  • linux修改服务器ip地址
  • 如何自定义wifi名称
  • 学习软件
  • css fontstyle
  • 基于JAVASCRIPT实现的可视化工具是
  • 判断文件是否存在 java
  • linux lvm配置
  • js处理时间
  • webview设置ua
  • js中构造函数怎么写
  • 深圳前海地铁站几号线
  • 四川召开延迟退休座谈会
  • 大征期 是什么
  • 四川省税务局税费服务支持中心工作人员编制
  • 深圳市税务网上注销流程图
  • 手机上交了社保可以退吗
  • 什么是美国注册公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设