In RINIT:
/* Hack: We check for a soap header here, if that's existing, we don't use
* Xdebug's error handler to keep soap fault from fucking up. */
if (XG(default_enable) && zend_hash_find(Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_SERVER]), "HTTP_SOAPACTION", 16, (void**)&dummy) == FAILURE) {
zend_error_cb = xdebug_new_error_cb;
zend_throw_exception_hook = xdebug_throw_exception_hook;
}
xdebug_throw_exception_hook:
static void xdebug_throw_exception_hook(zval *exception TSRMLS_DC)
{
zval *message, *file, *line, *xdebug_message_trace, *previous_exception;