首先隨便寫一個測試指令碼test.php,裡面就寫一個sleep函數,換成死迴圈也可以。
<?phpfunction Mecho($i){ echo $i.PHP_EOL; }$i = 20;while($i>0){if($i%2==0){ Mecho($i); }sleep(100000);$i--; }
zbacktrace下載php原始碼包裡面就有,當前我的環境是新裝的,當前的php版本是php7.2.9
直接cli執行test.php
php test.php
然後找到當前php進程
然後用gdb偵錯
gdb -p 56571
偵錯
source /usr/local/src/php-7.2.9/.gdbinit zbacktrace
這個時候就知道了是在test.php的11行 sleep函數導致的進程sleep。
相關教學:PHP視訊教學
以上就是gdb偵錯php輕鬆找到當前執行的程式碼的詳細內容,更多請關注TW511.COM其它相關文章!