* exception.h (exception::handle_while_being_debugged): Declare.
(exception::exception): Install unhandled exception filter. * exceptions.cc (exception::handle_while_being_debugged): New method.
This commit is contained in:
parent
bdd04d0a62
commit
2c1e724ba4
|
@ -1,3 +1,9 @@
|
|||
2014-03-19 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* exception.h (exception::handle_while_being_debugged): Declare.
|
||||
(exception::exception): Install unhandled exception filter.
|
||||
* exceptions.cc (exception::handle_while_being_debugged): New method.
|
||||
|
||||
2014-03-19 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* passwd.cc (pg_ent::enumerate_ad): Ignore primary domain in list of
|
||||
|
|
|
@ -111,6 +111,7 @@ class exception
|
|||
#ifdef __x86_64__
|
||||
static bool handler_installed;
|
||||
static int handle (LPEXCEPTION_POINTERS);
|
||||
static int handle_while_being_debugged (LPEXCEPTION_POINTERS);
|
||||
#else
|
||||
exception_list el;
|
||||
exception_list *save;
|
||||
|
@ -123,7 +124,8 @@ public:
|
|||
if (!handler_installed)
|
||||
{
|
||||
handler_installed = true;
|
||||
AddVectoredExceptionHandler (1, handle);
|
||||
SetUnhandledExceptionFilter (handle);
|
||||
AddVectoredExceptionHandler (1, handle_while_being_debugged);
|
||||
}
|
||||
#else
|
||||
save = _except_list;
|
||||
|
|
|
@ -555,6 +555,14 @@ rtl_unwind (exception_list *frame, PEXCEPTION_RECORD e)
|
|||
|
||||
bool exception::handler_installed NO_COPY;
|
||||
|
||||
int
|
||||
exception::handle_while_being_debugged (LPEXCEPTION_POINTERS ep)
|
||||
{
|
||||
if (being_debugged ())
|
||||
return handle (ep);
|
||||
return EXCEPTION_CONTINUE_SEARCH;
|
||||
}
|
||||
|
||||
int
|
||||
exception::handle (LPEXCEPTION_POINTERS ep)
|
||||
#else
|
||||
|
|
Loading…
Reference in New Issue