Debugging Better Debugging with Xdebug Drupal Con Vienna Vienna, Austria Oct 15th, 2025 Derick Rethans derick@xdebug.org @derickr@phpc.social derickr https://derickrethans.nl/talks/xdebug-drupalcon 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) - 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-native-path-mapping.xml slides/xdebug/dbgp-breakpoint-types.xml slides/xdebug/xdebug-native-path-skipping.xml - xdebug_notify() (demo, VS Code) slides/xdebug/xdebug_notify.xml - file_link_format (demo, PhpStorm) -> ticket Step debugging improvements Step debugging improvements slides/xdebug/breakpoint_resolving.xml - breakpoint resolving (demo, PhpStorm) slides/xdebug/return_value.xml - return value debugging (demo, VS Code or PhpStorm) slides/xdebug/exception_value.xml - exception value as pseudo-variable (VS Code) - 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) - xdebug_connect_to_client() (demo, PhpStorm) - xdebug://gateway and xdebug://nameserver (explain) slides/xdebug/xdebug-control-socket.xml slides/xdebug/xdebug-future-features.xml slides/xdebug/restaurant.xml slides/xdebug/xdebug-cloud-announcement.xml slides/xdebug/donate.xml slides/xdebug/business-support.xml slides/xdebug/transparency.xml slides/mongodb/questions.xml slides/xdebug/resources.xml