macOS XDebug 本地调试 很久没写PHP了、同样很很久没有用XDebug了,近期有个简单的场景要用到,简单记录一下关键步骤。...本地环境: $ php -v PHP 7.3.4 (cli) (built: Apr 8 2019 10:21:33) ( NTS ) Copyright (c) 1997-2018 The PHP...2002-2019, by Derick Rethans 环境搭建 // 安装xdebug $ pecl install xdebug // 配置xdebug $ vim /usr/local/etc/php...服务 $ brew services restart php@7.3 IDE 配置 我是在~/Downloads/xdebug/ 目录下放了一个简单的PHP文件test.php来测试,在这个目录下用php...image.png image.png 开启监听 image.png 效果演示 设置之后, 在IDE里打上断点, 在浏览器打开这个链接即可开启测试 http://127.0.0.1:7790/test.php
与上一篇联动, 本篇是远程调试, 主要记录一下过程 本地环境: # php -v PHP 7.2.16 (cli) (built: Mar 10 2019 21:22:49) ( NTS ) Copyright...On xdebug.remote_port=11955 xdebug.idekey=PHPSTORM // 重启PHP服务 # systemctl restart php-fpm # systemctl...firewall-cmd --zone=public --add-port=11955/tcp --permanent # firewall-cmd --reload IDE 配置 IDE的配置与本地调试不太一样...,总的来说有两种方式,一种是通过在IDE配置Remote Debug, 需要配置登录远端服务器;一种是通过ssh来做远程端口转发到本地来实现类似本地调试的方式。...IDE配置 与本地调试的配置不一样的地方就是host和port,其他地方大同小异。
简介 PHPDBG是一个PHP的SAPI模块,可以在不用修改代码和不影响性能的情况下控制PHP的运行环境。 PHPDBG的目标是成为一个轻量级、强大、易用的PHP调试平台。...基本使用 参数介绍 phpdbg是php的一个sapi,它可以以命令行的方式调试php。...只是他们调试的语言不一样,gdb侧重于调试c或者c++语言,而phpdbg侧重于调试php语言。下面我们将对phpdbg的一些常用调试功能做下介绍。...一条php语句,可能会解析成多条opcode。如果可以按opcode设置断点,我们就可以更精确的跟踪程序执行过程。下面我们来看看phapdbg设置断点的具体示例。...执行php代码 这个是phpdbg的一个特色。可以在调试的过程中使用ev命令执行任意的php代码。
PHP代码调试与日志 (原创内容,转载请注明来源,谢谢) 一、代码调试 由于PHP很少有类似java、.NET的断点调试工具,因此通常都是要采用输出中间结果的方式进行调试,主要如下: 1、var_dump...对于controller,如果是调用的ajax,要用此方法打印还要配合firebug等浏览器调试工具。...5、firebug 对于前端调试,采用火狐浏览器,安装firebug插件,功能强大。...二、日志查看 1、PHP日志 在php.ini文件中,将log_errors设置成on,并且设置其loglevel,可以设置成php的十多种错误类型的某些种,再设置error_log的文件路径。...这样,当php运行期间发生的错误,会记录错误日志,便于定为原因。
有时候,使用PHP的第三方扩展之后,可能会发生一些错误,这个时候,可能就需要更底层的方式追踪调试程序发生错误的地方和原因,熟悉linux下C编程的肯定不陌生gdb 首先,使用ulimit -c命令,查看系统是否会生成...当返回结果为0时,说明系统不会生成core文件,这个时候使用ulimit -c命令改变系统的默认设置 shulimit -c unlimited #或者 ulimit -c n #n大于0的数字 这样当程序运行错的时候...,就会把运行过程记录到core文件里面 一般来说,core文件会在程序运行目录下生成,文件名类似 core.5740 下面开始使用gdb来调试 sh gdb php -c core.5740 #进入之后显示很多东西...,然后不停的 按 输入 bt回车,查看执行流程 #在gdb运行环境中,使用PHP的gdb调试脚本,其中/prefix/php-src-dir 是php的源码目录 source /prefix/php-src-dir.../.gdbinit #zbacktrace会更加精确到PHP的错误 zbacktrace 详细的使用gdb调试PHP的文章,可以参考鸟哥的博客 如何调试PHP的Core之获取基本信息
调试程序是程序猿的一项必备技能,有多种手段可以用来调试程序,如打印控制台输出,日志方式,以及设置断点使用debug做单步跟踪进行调试。...这篇文章主要以go的debug使用为题进行展开 GDB 介绍 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。在mac上安装,会有认证方面的问题,查了一些资料,没能解决,就放弃了。...使用vagrant搭建了一个go的环境并安装了gdb工具,在需要使用gdb时,通常是将代码通过vagrant目录映射到linux虚拟主机中,然后进行GDB调试。...,通过以上几个命令,可以完成一个程序的基本调试。...启动debug服务 dlv debug demo.go 其它的命令同gdb大体相同,初级的调试,高级的使用功能,还未深入研究,另外它还可以attach到一个运行的程序进行debug。
程序调试就是对程序进行测试,查找程序中的错误,并将这些错误修正或排除。...第三类:逻辑错误 由于所编写的程序的代码不能实现预定的处理功能而产生的错误。尽管没有语法错误,也没有运行错误,但得到的结果却是错的。系统不能自动检查,用户可用调试工具进行检查。...可使用“调试”菜单中的“添加监视”命令指定或修改“监视表达式”。 3.“立即”窗口 用于显示当前过程中的有关信息。 (2)程序调试 中断状态的进入与退出程序在执行的中途被停止,称为“中断”。...程序运行时发生错误; 2. 程序运行时用户单击[Ctrl]+[Break]键或使用运行”菜单中的“中断”命令; 3. 在程序代码中设置断点; 4. 采用单步调试。...单步调试 单步调试即逐个语句或逐个过程地执行程序,用来检查每个语句的执行状况或执行结 果。 (1)单步语句调试: 逐个语句检查(F8) 。
PHP打印跟踪调试信息 对于大部分编译型语言来说,比如 C 、 Java 、 C# ,我们都能很方便地进行断点调试,但是 PHP 则必须安装 XDebug 并且在编辑器中进行复杂的配置才能实现断点调试的能力...不过,如果只是简单的调试并且查看堆栈回溯的话,其实 PHP 已经为我们准备好了两个函数,能够让我们非常方便的看到程序运行时的调用情况。...()); a_test("A"); // Hi: A/Users/zhangyue/MyDoc/博客文章/dev-blog/php/202004/source/PHP打印跟踪调试信息.php:7:...(93) "/Users/zhangyue/MyDoc/博客文章/dev-blog/php/202004/source/PHP打印跟踪调试信息.php" // 'line' => //.../PHP打印跟踪调试信息.php:151] 另外就是这个函数不需要使用 var_dump() 或 print_r() 进行输出,直接使用这个函数就会进行输出。
其中最主要的就是怎样使用VSCode调试PHP代码。 语法检查和格式化 为了更加规范的学习PHP,我决定使用一个插件。如果在VSCode中搜索php format插件,会有三个排名最靠上的插件。...这个页面会分析好你的PHP环境,已经需要安装XDebug的步骤。 test.php php phpinfo(); ?...php $x = 10; echo "Hello PHP"; echo $x; ?> 然后点击vsCode的debug按钮,或者ctrl+shift+d,开启调试窗口。...如下图: 调试界面 注意:我主要采坑的地方是在php.ini这个配置文件中。xdebug.remote_enable和xdebug.remote_autostart,这两个配置文档中说的是设置为1。...---- 以上就是我配置VSCode的PHP调试时候遇到的一些问题。主要感慨就是,文档一定要找到官方文档,然后提高英语阅读水平,最后再加上多多尝试即可。
这里简单记录小程序调试步骤,帮助开发单步调试错误,分析问题。...具体步骤 1、先运行可浏览页面 2、找到待调试的页面 3、在调试器面板 Sources里找到对应路径的页面和js文件 4、在适当的位置设置断点 5、触发断点 6、注意单步调试按钮 (F10单步调试,F8
在我们开发过程、已上线的应用中,程序经常会因为异常而崩溃。 比如:数据库执行失败、调用了不存在的类、调用了不存在的函数/方法…....用过thinkphp等任何一个框架的都知道,当我们的程序报错时,显示的都是框架美美的报错异常页面。 之所以能显示出框架自定义的页面,都是因为使用了异常处理函数来实现的。...异常处理函数 在默认的php中,产生异常的时候是这样子的: ---- ? ? ---- php提供了set_exception_handler函数,让我们可以自定义异常产生时执行、输出的数据。 <?...在thinkphp中实现异常上报模块 我自定义了一个继承了tp默认异常处理器的新类,并在其中记录了php脚本执行时间、tp能获取到的全部数据 然后上报到数据库(或者其他储存地址) 再自定义了查看异常记录的页面...客户说遇到了问题崩溃了,我们查看此模块分析就可以, 甚至可以每天定期查看该模块,检查程序是否有异常产生,提前解决,提高程序的稳健性 ? ?
XDebug调试配置 临时需要调试服务器上的PHP web程序,因此安装xdebug,下面简单记录 安装xdebug 下载最新并解压 wget https://xdebug.org/files/xdebug...Need a PHP version >= 5.5.0 and < 7.2.0 (found 5.3.10-1ubuntu3.21) 原来服务器上的php版本比较低: PHP 5.3.10-1ubuntu3.26...,服务器使用的php5-fpm,配置文件在/etc/php5/fpm/php.ini 修改,增加xdebug配置信息 zend_extension="/opt/research/xdebug-2.2.2...调试配置 在RUN-Edit Configuratins里,新增PHP Web Application ?...然后就可以启动调试了
q-header-list=&q-url-param-list=&q-signature=6aadc54bdad54a714190d0f3a185e2e1546bf07d] 设置里面的扩展组件里面的XDebug调试组件打开.../php7.3.4nts/ext/php_xdebug.dll xdebug.collect_params=1 xdebug.collect_return=1 xdebug.auto_trace=On...xdebug.trace_output_dir=D:/phpstudy_pro/Extensions/php_log/php7.3.4nts.xdebug.trace xdebug.profiler_enable...的执行路径:"php.validate.executablePath": "D:\phpstudy_pro\Extensions\php\php7.3.4nts\php.exe",根据自己选择的php版本找到相应的...q-header-list=&q-url-param-list=&q-signature=cf224d2a35efe119d0991ba01922ef3367c2feb2] 最后配置launch.json,也就是调试模式点设置
跳转到如下图所示页面,会对本机中的php进行分析,点击“Download php_xdebug-2.7.2-7.2-vc15-x86_64.dll”按钮下载Xdebug扩展。...配置Xdebug扩展 将下载好的Xdebug扩展复制到php目录下的ext文件夹中,并在php.ini配置的末尾添加如下配置信息: zend_extension=E:\php7\ext\php_xdebug...-2.7.2-7.2-vc15-x86_64.dll xdebug.profiler_output_dir="E:\php\xdebug" xdebug.trace_output_dir="E:\php...>PHP->Debug->DBGp Proxy”,配置DBGp协议配置信息,如下图所示: 打开“File->Settings->Languages & Development->PHP->Server...上面配置文件写的是PHPSTORM 开启phpStorm调试 首先设置运行服务器为localhost,然后打开php debug监听,运行debug模式,最后设置断点,如下图所示: 最后 如果你觉得这篇文章对你有点用的话
PHPStorm 也可以进行 Xdebug 调试,VScode 也可以进行配置调试,且比 PHPStorm 的配置简单很多,不用每次去创建一个 Server,再创建一个 web page 服务。...一.插件准备 1.查看插件列表 [avatar 2.搜索并安装PHP Debug (安装 VScode 时选择 PHP 开发相关的话会自动安装) PHP Debug ?...5.新建 debug 配置,并选择调试语言 ? 6.进行配置 ?...4.在浏览器中访问设置断点的程序 5.访问后会自动跳转到 VSCode,并显示出断点标记,并显示相关执行结果 ?...(设置小图标后打开调试控制台也可以显示相关错误提示,注意查看即可) 将launch.json的端口号修改未被占用的号,并且修改php.ini中 xdebug 的配置
1.版本对应 php版本,TS 和NTS,VC9和VC11,32位和64位都需要正确才可以。 首先用phpinfo查看PHP安装版本 ?...2.下载对应版本 https://xdebug.org/download.php ?...比如下载的是32位的TS版本:php_xdebug-2.4.1-5.4-vc9.dll,这个文件复制进任意目录都可以。...3.配置php.ini文件 [Xdebug] ;指定Xdebug扩展文件的绝对路径 zend_extension=D:/phpext/php_xdebug-2.4.1-5.4-vc9.dll...6.打断点开始调试 ?
前言 没有任何一名程序员可以一气呵成、完美无缺的在不用调试的情况下完成一个功能或模块。调试实际分很多种情况。...程序员都会用,那就是浏览器调试,在编辑器内写完代码后随后打开万能的浏览器输入地址开始调试代码。...命令调试 如果你在官网或者github上下载了一段代码片段,急于调试但是还不愿意将代码片段放入项目中或者新开辟一个目录,完全可以使用php命令去执行这个代码块 php -f filename.php 如果代码片段较短你可以使用...执行运行PHP代码 片段调试 当你突然想起一个方法或者算法急于去验证他,但又不愿意打开编辑器或者执行php自带的命令行的话。...实际作为一名程序员,开发功能的流程是这样的。 理解需求 -> 分解需求 -> 整理逻辑 -> 设计代码 -> 敲代码 -> 调试 -> 测试 如果最后一步你从来没有做过,那你只能是半个程序员。
1) jdb调试正在运行的进程: 先使用jps先确定进程号,然后让jdb连接上目标进程(23549换成实际的进程号): jdb -connect sun.jvm.hotspot.jdi.SAPIDAttachingConnector...2) jdb调试未运行的程序: 程序代码: hadoop@hadoop-137-143:~/hbase> cat Hello.java public class Hello { public...开始调试,执行下面命令进入jdb: jdb -classpath .
F11:运行程序,进入调试 F5:单步,并进入函数内 F6:单步,但不进入函数内 F7:从当前函数内跳到上一级调用 F8:一直执行到断点 Ctrl+Shift+B:添加或删除断点有关eclipse 发布者...:全栈程序员栈长,转载请注明出处:https://javaforall.cn/110308.html原文链接:https://javaforall.cn
在做React Native开发时,少不了的需要对React Native程序进行调试。调试程序是每一位开发者的基本功,高效的调试不仅能提高开发效率,也能降低Bug率。...Chrome 调试工具 Chrome 开发工具 谷歌 Chrome 开发工具,是基于谷歌浏览器内含的一套网页制作和调试工具。开发者工具允许网页开发者深入浏览器和网页应用程序的内部。...Chrome调试React Native程序 第一步:启动远程调试 在Developer Menu下单击”Debug JS Remotely” 启动JS远程调试功能。...全局断点 全局断点的作用是,当程序出现异常时,会在异常的地方暂停,这对快速定位异的常位置很方便。...其他选项 执行到此(Continue to Here):如果你想让程序立即跳到某一行时,这个功能会帮到你。如果在该行之前还有别的断点,程序会依次经过前面的断点。
领取专属 10元无门槛券
手把手带您无忧上云