psysh作為偵錯程式
psysh可以用來在指令碼中設定乙個斷點,在這個斷點處它將暫停並提供對shell的訪問,以檢查變數並在斷點所在位置的上下文中執行命令。目前它不支援逐步除錯(如xdebug
),但在需要更少設定時也不那麼複雜。
不幸的是,也不支援通過諸如apache或nginx或php-fpm等web伺服器進行除錯。只有從命令列或通過php內建的web伺服器
執行php指令碼時才支援除錯。如果您有興趣幫助新增此功能,請參閱github問題121
。要使用psysh作為偵錯程式,請將其安裝為composer依賴項或直接在您的專案中包含phar:
require(' / path / to / psysh ');
然後,把這一行放到你想要有斷點的指令碼中:
eval(\ psy \sh());
......這只是一種較短的說法:
提取(\ psy \debug(get_defined_vars()));
當你的指令碼達到這一點時,執行將被暫停,你將被放入psysh shell。您的程式狀態已載入並可供您檢查和試驗。
pro tip™:您不必使用get_defined_vars......您可以將任何您想要的內容作為除錯環境傳遞給您:
如果從類上下文中啟動除錯shell,則可以傳遞可選的第二個引數以將繫結物件新增到shell。這是非常有用的,因為您可以$this在除錯shell中呼叫內容,並且您將可以完全訪問當前上下文的私有和受保護成員:
\ psy \debug(get_defined_vars(),$ this);
如果您eval(\psy\sh())從類上下文中呼叫快捷方式,則會$this免費獲得繫結。
更多使用資訊
python的偵錯程式 Python 偵錯程式入門
python 生態系統包含豐富的工具和庫,可以讓開發人員更加舒適。例如,我們之前已經介紹了如何使用互動式 shell 增強 python。本文重點介紹另一種可以節省時間並提高 python 技能的工具 python 偵錯程式。python 偵錯程式 python 標準庫提供了乙個名為 pdb 的偵錯...
常見偵錯程式
工欲善其事,必先利其器 在進行軟體除錯或者逆向工程時,我們需要很多輔助工具,其中偵錯程式是最重要的工具之一。根據除錯物件偵錯程式分類為使用者態和核心態。使用者態偵錯程式只能除錯環3 ring3 許可權的應用程式,大多數應用程式均屬於此類程式。核心態偵錯程式能除錯環0 ring0 許可權的應用程式,驅...
GDB偵錯程式
偵錯程式gdb 一 啟動和退出gdb gdb除錯的物件是可執行檔案,而不是程式的源 如果要使乙個可執行檔案可以被gdb除錯,那麼在使用編譯器gcc編譯程式時需要加入 g選項。gdb除錯乙個程式的命令格式是 gdb 程式檔名 也可以在linux提示符下,直接輸入gdb,然後使用file命令裝入要除錯的...