You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There currently is no simple way to figure out what/where exit was called.
Since PHP 8.4 PHP is a proper function, however it seems it's xdebug won't break on it, even if set (besides the fact, there's tons of bugs with IDEs/xdebug when breaking on built-in functions, e.g. defined()
Stepping through the code until exit; is reached isn't feasible in all cases (it happens in a long running process, this might take a day...)
It would be great if there were a magic constant similar to __COMPILER_HALT_OFFSET__ that is available in shutdown function callbacks, which includes the last executed file + line in the main thread before shutdown started. But that's just a simple first suggestion, I'm open to everything that makes identifying/debugging this easier.
The text was updated successfully, but these errors were encountered:
Afaik bc in < PHP 8.4 exit wasn't an actual function.
Yes, but it had an ZEND_EXIT opcode that could have been hooked into. With 8.4 being a dedicated function, xdebug may require a different trigger. It's possible this already works, but I don't know xdebug that well. /cc @derickr
Description
There currently is no simple way to figure out what/where exit was called.
Since PHP 8.4 PHP is a proper function, however it seems it's xdebug won't break on it, even if set (besides the fact, there's tons of bugs with IDEs/xdebug when breaking on built-in functions, e.g.
defined(
)Stepping through the code until exit; is reached isn't feasible in all cases (it happens in a long running process, this might take a day...)
It would be great if there were a magic constant similar to
__COMPILER_HALT_OFFSET__
that is available in shutdown function callbacks, which includes the last executed file + line in the main thread before shutdown started. But that's just a simple first suggestion, I'm open to everything that makes identifying/debugging this easier.The text was updated successfully, but these errors were encountered: