1.使用 phpdbg_break_function() 來可以給這個 testFunc() 方法設定一個斷點。
提示> r [testFunc() 中的斷點 #0,位於 /Users/zhangyue/MyDoc/部落格文章/dev-blog/php/202006/source/PHPDebug 互動擴充.php:11,點選數:1] >00011: 函數 testFunc(){ 00012:全局$i; 00013: $i += 3; 提示>s [L12 0x109eef620 EXT_STMT /Users/zhangyue/MyDoc/部落格文章/dev-blog/php/202006/source/PHPDebug互動擴充.php] >00012:全域$i; 00013: $i += 3; 00014: echo "這是 testFunc! i:" . $i, PHP_EOL; 提示>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 "這是 testFunc! i:" . $i, PHP_EOL; 00015:}
2.直接進行了兩次單步,可以看到 global $i 對應的操作碼是 BIND_GLOBAL 。
提示>s [L13 0x109eef680 ASSIGN_ADD $i 3 /Users/zhangyue/MyDoc/blog/dev-blog/php/202006/source/PHPDebug文章互動擴充.php] [L14 0x109eef6a0 EXT_STMT /Users/zhangyue/MyDoc/部落格文章/dev-blog/php/202006/source/PHPDebug互動擴充.php] >00014: echo "這是 testFunc! i:" . $i, PHP_EOL; 00015:} 00016: 提示>s [L14 0x109eef6c0 CONCAT "This is 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] 這是測試函數!我: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:測試函數();
以上就是php方法斷點的實現,大家學會後也趕快嘗試下實例操作。