位置: 编程技术 - 正文

如何使用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 正式版

  • 税种核定在电子版怎么查
  • 增值税进项发票怎么做账
  • 非营利组织所得税
  • 先发表还是先出版
  • 如何进行个人所得税认定
  • 净利润为什么要减折旧
  • 银行对账单用英语怎么说
  • 社保基数与工资不符
  • 融资租赁开具的发票是货物还是租金
  • 销售货物多收款怎么处理
  • 取得抵债资产的方式主要有以下几种
  • 收到销项负数发票
  • 上海市购销合同印花税计税金额怎么算?
  • 协议报价税率与开出的发票不一致怎么办?
  • 防伪税控技术维护费是进项还是销项
  • 固定资产分期抵扣怎么申报增值税?
  • 广告费扣税
  • 财务每月需要报哪些税
  • 个人所得税更正申报有滞纳金吗
  • 存货跌价准备计提原则
  • microsoft阻止应用启动
  • qqprotect.exe是什么进程?qqprotect.exe怎么禁止自动启动?
  • 沙盘模型制作费用
  • php的总结
  • PHP:oci_field_scale()的用法_Oracle函数
  • geeklink 极联科技
  • 跨站脚本攻击是什么
  • 温哥华瀑布
  • 固定资产可以直接入账吗
  • 注册公司时认缴和实缴时间怎么填
  • uniapp前端面试题
  • 损益类科目资产增加在借方还是贷方
  • 《linux内核分析》
  • 特斯拉 ai day
  • 溢价购买子公司账务处理
  • 出口海运费222011
  • 公司帐户转到法人私卡备用金行吗
  • 前年度多交附加税怎么交
  • MySQL中UPDATE与DELETE语句的使用教程
  • python有public
  • 钢筋增值税专票几个点
  • 财务软件费用可以抵税吗
  • 直接免征的税款属于政府补助吗
  • 预算收入分为哪几种方式
  • mysql命令大小写
  • 劳务发票进什么科目
  • 制造企业预提短期借款利息的会计科目处理
  • 生活服务业可以开具增值税专用发票
  • 冲抵货款是什么意思
  • 个人独资企业法人可以发工资吗
  • 固定资产置换存货
  • 小型微利企业预缴企业所得税怎么算
  • 材料报废处理
  • 单位购牙膏牙刷卫生纸怎么做账?
  • 多缴附加税款账务处理
  • 执行企业会计准则的非上市企业
  • 其他综合收益不影响当期损益
  • 房地产核算成本方法
  • 建账时必须输入的内容有哪些
  • 事业单位应设置事业收入科目
  • sqlserver全文索引
  • sql server高级编程
  • MSSQL 数据库同步教程
  • fedora linux安装教程
  • xp系统的程序和功能在哪里
  • linux xim
  • linux系统怎么关闭程序
  • linux备份的文件bak如何恢复
  • Android Eclispe ADT环境搭建(集成版Eclipse)
  • 炉石传说代码怎么导入
  • css并集
  • unity hover
  • javascript 二维码
  • 编写批处理
  • jquery page
  • High Level Networking Concepts
  • 成都税务举报电话多少
  • 北京增值税普通发票图片
  • 税控盘怎么申请领发票
  • 中国地税国税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设