Debugging Getting the Most Out of Xdebug 3 Confoo Montréal, Canada February 22nd, 2023 Derick Rethans derick@xdebug.org @derickr@phpc.social derickr https://derickrethans.nl/talks/xdebug-confoo23 https://xdebug.org slides/xdebug/title.xml slides/mongodb/me.xml Code reorganisation Modes - only do what is needed Reduce Configuration Options Code Improvements (algorithms, memory, etc) slides/xdebug/modes.xml slides/xdebug/config-settings-3.xml slides/xdebug/config-settings-3b.xml slides/xdebug/xdebug-3-speedup-1.xml - xdebug_info() (demo, VS Code or PhpStorm) - an API through xdebug_info() for mode detection (VS Code or PhpStorm) 'mode' 'extension-flags' slides/xdebug/xdebug_info.xml slides/xdebug/xdebug_info-2.xml - xdebug_notify() (demo, VS Code) slides/xdebug/xdebug_notify.xml - file_link_format (demo, PhpStorm) slides/xdebug/xdebug_file_link_format.xml -> ticket Step debugging improvements slides/xdebug/breakpoint_resolving.xml - breakpoint resolving (demo, PhpStorm) slides/xdebug/return_value.xml - return value debugging (demo, VS Code) slides/xdebug/breakpoint_not_resolving.xml - Xdebug will now also log a warning if an IDE attempts to set a breakpoint on a file that does not exist on the file system. (demo, PhpStorm) slides/xdebug/xdebug_connect_to_client.xml - xdebug_connect_to_client() (demo, PhpStorm) slides/xdebug/xdebug_pseudo_hosts.xml - xdebug://gateway and xdebug://nameserver (explain) slides/xdebug/xdebug-cloud-announcement.xml slides/xdebug/donate.xml slides/xdebug/business-support.xml slides/xdebug/transparency.xml slides/xdebug/phpinternalsnews.xml slides/mongodb/questions.xml slides/xdebug/resources.xml