Lines Matching refs:ExceptionHandler

56 vector<ExceptionHandler*>* ExceptionHandler::handler_stack_ = NULL;
57 LONG ExceptionHandler::handler_stack_index_ = 0;
58 CRITICAL_SECTION ExceptionHandler::handler_stack_critical_section_;
59 volatile LONG ExceptionHandler::instance_count_ = 0;
61 ExceptionHandler::ExceptionHandler(const wstring& dump_path,
81 ExceptionHandler::ExceptionHandler(const wstring& dump_path,
101 ExceptionHandler::ExceptionHandler(
122 ExceptionHandler::ExceptionHandler(const wstring &dump_path,
139 void ExceptionHandler::Initialize(
206 // ExceptionHandler object gets its own handler thread because that's the
273 // The first time an ExceptionHandler that installs a handler is
276 handler_stack_ = new vector<ExceptionHandler*>();
295 ExceptionHandler::~ExceptionHandler() {
324 vector<ExceptionHandler*>::iterator iterator = handler_stack_->begin();
335 // When destroying the last ExceptionHandler that installed a handler,
379 bool ExceptionHandler::RequestUpload(DWORD crash_id) {
384 DWORD ExceptionHandler::ExceptionHandlerThreadMain(void* lpParameter) {
385 ExceptionHandler* self = reinterpret_cast<ExceptionHandler *>(lpParameter);
410 // terminated by the ExceptionHandler destructor.
416 // ExceptionHandler instance to use. The constructor locates the correct
426 // handling), HandleException will find the appropriate ExceptionHandler
437 // ExceptionHandler object) while an exception is being handled.
438 EnterCriticalSection(&ExceptionHandler::handler_stack_critical_section_);
439 handler_ = ExceptionHandler::handler_stack_->at(
440 ExceptionHandler::handler_stack_->size() -
441 ++ExceptionHandler::handler_stack_index_);
454 SetUnhandledExceptionFilter(ExceptionHandler::HandleException);
456 _set_invalid_parameter_handler(ExceptionHandler::HandleInvalidParameter);
458 _set_purecall_handler(ExceptionHandler::HandlePureVirtualCall);
460 --ExceptionHandler::handler_stack_index_;
461 LeaveCriticalSection(&ExceptionHandler::handler_stack_critical_section_);
464 ExceptionHandler* get_handler() const { return handler_; }
467 ExceptionHandler* handler_;
471 LONG ExceptionHandler::HandleException(EXCEPTION_POINTERS* exinfo) {
473 ExceptionHandler* current_handler = auto_exception_handler.get_handler();
479 // can be overridden by calling ExceptionHandler::set_handle_debug_exceptions.
540 void ExceptionHandler::HandleInvalidParameter(const wchar_t* expression,
548 ExceptionHandler* current_handler = auto_exception_handler.get_handler();
634 void ExceptionHandler::HandlePureVirtualCall() {
638 ExceptionHandler* current_handler = auto_exception_handler.get_handler();
698 bool ExceptionHandler::WriteMinidumpOnHandlerThread(
735 bool ExceptionHandler::WriteMinidump() {
750 bool ExceptionHandler::WriteMinidumpForException(EXCEPTION_POINTERS* exinfo) {
765 bool ExceptionHandler::WriteMinidump(const wstring &dump_path,
768 ExceptionHandler handler(dump_path, NULL, callback, callback_context,
774 bool ExceptionHandler::WriteMinidumpForChild(HANDLE child,
808 ExceptionHandler handler(dump_path, NULL, callback, callback_context,
829 bool ExceptionHandler::WriteMinidumpWithException(
867 BOOL CALLBACK ExceptionHandler::MinidumpWriteDumpCallback(
905 bool ExceptionHandler::WriteMinidumpWithExceptionForProcess(
1031 void ExceptionHandler::UpdateNextID() {
1051 void ExceptionHandler::RegisterAppMemory(void* ptr, size_t length) {
1065 void ExceptionHandler::UnregisterAppMemory(void* ptr) {