
1、Le phpdbg_break_function() utilise testFunc() pour résoudre le problème.点中。
invite> r
[Point d'arrêt n°0 dans testFunc() dans /Users/zhangyue/MyDoc/博客文章/dev-blog/php/202006/source/PHPDebug互动扩展.php:11, hits : 1]
>00011 : fonction testFunc(){
00012 : $i global ;
00013 : $i += 3 ;
invite> s
[L12 0x109eef620 EXT_STMT /Users/zhangyue/MyDoc/博客文章/dev-blog/php/202006/source/PHPDebug互动扩展.php]
>00012 : $i global ;
00013 : $i += 3 ;
00014 : echo "C'est testFunc ! i:" . $je, PHP_EOL;
invite> s
[L12 0x109eef640 BIND_GLOBAL $i "i" /Users/zhangyue/MyDoc/博客文章/dev-blog/php/202006/source/PHPDebug互动扩展.php]
[L13 0x109eef660 EXT_STMT /Users/zhangyue/MyDoc/博客文章/dev-blog/php/202006/source/PHPDebug互动扩展.php]
>00013 : $i += 3 ;
00014 : echo "C'est testFunc ! i:" . $je, PHP_EOL;
00015 : } 2、直接进行了两次 s 单步,可以看到 global $i 对应的 opcode 操作是 BIND_GLOBAL.
invite> s [L13 0x109eef680 ASSIGN_ADD $i 3 /Users/zhangyue/MyDoc/博客文章/dev-blog/php/202006/source/PHPDebug互动扩展.php] [L14 0x109eef6a0 EXT_STMT /Users/zhangyue/MyDoc/博客文章/dev-blog/php/202006/source/PHPDebug互动扩展.php] >00014 : echo "C'est testFunc ! i:" . $je, PHP_EOL; 00015 : } 00016 : invite> s [L14 0x109eef6c0 CONCAT "Ceci est testFunc!"+ $i ~1 /Users/zhangyue/MyDoc/博客文章/dev-blog/php/202006/source/PHPDebug互动扩展.php] [L14 0x109eef6e0 ECHO ~1 /Users/zhangyue/MyDoc/博客文章/dev-blog/php/202006/source/PHPDebug互动扩展.php] C'est testFunc ! je:4 [L14 0x109eef700 EXT_STMT /Users/zhangyue/MyDoc/博客文章/dev-blog/php/202006/source/PHPDebug互动扩展.php] [L14 0x109eef720 ECHO "n" /Users/zhangyue/MyDoc/博客文章/dev-blog/php/202006/source/PHPDebug互动扩展.php] [L15 0x109eef740 EXT_STMT /Users/zhangyue/MyDoc/博客文章/dev-blog/php/202006/source/PHPDebug互动扩展.php] >00015 : } 00016 : 00017 : testFunc();
以上就是php方法断点的实现,大家学会后也赶快尝试下实例操作吧。