Cleanup a bit of exception/error handling between the VM and the debugger

We had two similar-but-different functions for getting a notification from the VM about an exception. Cleaned that up by using the proper one for a thrown exception where appropriate, and moving the old one into a hook (like the other VM->debugger hooks) specifically for error messages.
Esse commit está contido em:
Mike Magruder
2013-06-07 15:12:13 -07:00
commit de sgolemon
commit eec54a0f6c
10 arquivos alterados com 36 adições e 45 exclusões
-15
Ver Arquivo
@@ -220,21 +220,6 @@ void Debugger::InterruptPSPEnded(const char *url) {
}
}
// Called directly from exception handling to indicate a user error handler
// failed to handle an exeption. NB: this is quite distinct from the hook called
// from iopThrow named phpDebuggerExceptionHook().
bool Debugger::InterruptException(CVarRef e) {
TRACE(2, "Debugger::InterruptException\n");
if (RuntimeOption::EnableDebugger) {
ThreadInfo *ti = ThreadInfo::s_threadInfo.getNoCheck();
if (ti->m_reqInjectionData.getDebugger()) {
HPHP::Transl::VMRegAnchor _;
InterruptVMHook(ExceptionThrown, e);
}
}
return true;
}
// Primary entrypoint for the debugger from the VM. Called in response to a host
// of VM events that the debugger is interested in. The debugger will execute
// any logic needed to handle the event, and will block below this to wait for