PsySH作為偵錯程式

2022-07-11 02:42:09 字數 836 閱讀 4205

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命令裝入要除錯的...