总结:上面已经将phy的状态设置成了 phydev->state = PHY_READY,同时完成了emac接口下的phy设备驱动注册,接下来将分析如何使用该p...
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脚本,只需要执行exec命令即可。...继续执行 和gdb一样,phpdbg的继续执行命令也是continue,简写形式为c。 执行php代码 这个是phpdbg的一个特色。可以在调试的过程中使用ev命令执行任意的php代码。
PHP代码调试与日志 (原创内容,转载请注明来源,谢谢) 一、代码调试 由于PHP很少有类似java、.NET的断点调试工具,因此通常都是要采用输出中间结果的方式进行调试,主要如下: 1、var_dump...二、日志查看 1、PHP日志 在php.ini文件中,将log_errors设置成on,并且设置其loglevel,可以设置成php的十多种错误类型的某些种,再设置error_log的文件路径。...这样,当php运行期间发生的错误,会记录错误日志,便于定为原因。...1、断言(assert) 单元测试中,一个很重要的内容叫做断言,命令是assert()。...可以理解为利用phpunit提供的mock函数,将执行调用其他类的那一行命令替换掉,直接返回需要的结果。 但是,对于本类内部的方法调用、对于所有的常量、静态方法、静态变量的调用,则无法加桩。
有时候,使用PHP的第三方扩展之后,可能会发生一些错误,这个时候,可能就需要更底层的方式追踪调试程序发生错误的地方和原因,熟悉linux下C编程的肯定不陌生gdb 首先,使用ulimit -c命令,查看系统是否会生成...core文件 sh#返回结果可能是0 ulimit -c 当返回结果为0时,说明系统不会生成core文件,这个时候使用ulimit -c命令改变系统的默认设置 shulimit -c unlimited...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之获取基本信息
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调试时候遇到的一些问题。主要感慨就是,文档一定要找到官方文档,然后提高英语阅读水平,最后再加上多多尝试即可。
在命令行中可以使用jdb命令来进行类的调试: 类Hello.java如下: class Hello{ public static void main(String[] args){...System.out.println("输出100/0的结果:"); System.out.println(100/0); } } 在类目录下使用 javac Hello.java 命令编译该类生成字节码文件...; 使用 jdb 命令开启调试 使用 run 命令运行java类: D:\java_basic_note>jdb Hello 正在初始化jdb... > run 运行Hello 设置未捕获的java.lang.Throwable...java.lang.ArithmeticException (未捕获)"线程=main", Hello.main(), 行=4 bci=14 4 System.out.println(100/0); 通过输出信息我们可以看到调试结果
gdb调试 复习并整理gdb 1. 调试准备 被调试的程序需要生成调试符号信息,即在gcc/g++编译时加上-g选项。...启动gdb调试的方法 直接调试目标程序 gdb filename # filename为要启动的调试程序名称 attach到进程 gdb attach pid #attach到pid对应的进程 调试core...4. gdb调试多线程程序 4.1 调试多线程程序的方法 先gdb让程序跑起来,然后Ctrl+C中断程序,使用Info threads命令查看当前进程下有多少线程在运行。...set scheduler-locking step当且仅当使用next或step命令做单步调试时会锁定当前线程,如果使用until,finish,return等线程内调试命令(它们不是单步控制命令),...5. gdb调试多进程程序 5.1 方法一 先在一个shell窗口中调试父进程,等待子进程被fork出来后,再开启另外一个shell窗口使用gdb attach命令将gdb attach到子进程上。
一、命令执行相关知识 0x01. 什么是命令执行 :让php文件去执行cmd命令. 在命令行中使用echo “” > 1.php: 写一句话木马到1.php文件..... php哪些函数可以做到命令执行: 1.system(‘whoami’): php操纵计算机执行whoami命令,并且输出结果,可以看到多行 2.echo exec(‘whoami’): php操纵计算机执行命令之后获取最后一行结果...,需要配合echo使用 3.echo shell_exec(‘whoami’): php操纵计算机执行命令之后,获取所有结果,但是不会自动输出,需要配合echo使用 4.passthru: 只调用命令...命令行set: 查询本机所有环境变量 可以用echo %PATHEXT:~0,1%: 意思是输出环境变量pathext中的第一位 加百分号的意思是输出环境变量pathext的值,此方法类似php...这时候可以拼接恶意语句,利用命令执行函数去生成一个带有一句话木马的php文件 构造语句:filename=xxbaqwe&echo "php eval($_REQUEST[1])?
异常处理函数 在默认的php中,产生异常的时候是这样子的: ---- ? ? ---- php提供了set_exception_handler函数,让我们可以自定义异常产生时执行、输出的数据。 php function exception_handler($exception) { echo "有异常产生了 傻逼 :\n"; var_dump($exception); } 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 ?...然后就可以启动调试了
跳转到如下图所示页面,会对本机中的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模式,最后设置断点,如下图所示: 最后 如果你觉得这篇文章对你有点用的话
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,也就是调试模式点设置
PHPStorm 也可以进行 Xdebug 调试,VScode 也可以进行配置调试,且比 PHPStorm 的配置简单很多,不用每次去创建一个 Server,再创建一个 web page 服务。...一.插件准备 1.查看插件列表 [avatar 2.搜索并安装PHP Debug (安装 VScode 时选择 PHP 开发相关的话会自动安装) PHP Debug ?...5.新建 debug 配置,并选择调试语言 ? 6.进行配置 ?...6.在调试小窗口中进行单步调试或单步跳过等操作 注意 1.注意自动附加是否是开启状态 2.注意端口号是否冲突(点击下部玫红色状态栏的Listen for XDebug后,会弹出选择 debug 设置如果端口设置有问题的话...(设置小图标后打开调试控制台也可以显示相关错误提示,注意查看即可) 将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.打断点开始调试 ?
组件调试是指将一个正在开发测试的插件、类进行错误、逻辑和结果的测试 片段调试是指将一段代码片段、函数、变量的预期和结果的测试 接下来我们看下本章列出的一些调试方法 暴力调试 这种方式简单粗暴,一般PHP...命令调试 如果你在官网或者github上下载了一段代码片段,急于调试但是还不愿意将代码片段放入项目中或者新开辟一个目录,完全可以使用php命令去执行这个代码块 php -f filename.php 如果代码片段较短你可以使用...执行运行PHP代码 片段调试 当你突然想起一个方法或者算法急于去验证他,但又不愿意打开编辑器或者执行php自带的命令行的话。...编辑器调试 感觉讲这个有点废话了,如果你感觉打开命令行然后输入 php xxxx 特别费劲的话,你也可以选择使用编辑器自带的调试,一般像sublime,visual Studio Code , PHPStrom...都会自带的调试工具,其原理依旧是调用 php -r 但总比打开命令行输入命令要快的多。
/0/0 Received: 2 Sent: 1 Connections: 1 Outstanding: 0 Zxid: 0x0 Mode: follower Node count: 4 如果没有nc命令的话...utm_source=tuicool&utm_medium=referral 这哥们挺坎坷的 调试方法: tail -500f $dataLogDir/zookeeper.out 或者以输出日志方式启动...: ZooKeeper 支持某些特定的四字命令字母与其的交互。...它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。...7. echo envi |nc 127.0.0.1 2181 ,输出关于服务环境的详细信息(区别于 conf 命令)。
PHP提供共了3个专门的执行外部命令的函数:system(),exec(),passthru()。...passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。 ...参考:http://www.jb51.net/article/110108.htm exec执行某命令在命令行下没有问题,但是在php中就出错。...这个问题99.99%与权限有关,但是exec执行的命令不会返回错误。...备注: exec有3个参数,第一个是要执行的命令,第二个是参数是一个数组,数组的值是由第一个命令执行后生成的,第三个参数执行的状态,0表示成功,其他都表示失败。
领取专属 10元无门槛券
手把手带您无忧上云