D
deepaksrivastav
Hi,
I am using my own exception handler whose code is as shown below.
struct EXCEPTION_REGISTRATION {
EXCEPTION_REGISTRATION *prev;
DWORD handler;
};
EXCEPTION_DISPOSITION myHandler(_EXCEPTION_RECORD *ExcRecord, void
*EstablisherFrame, _CONTEXT *ContextRecord,void * DispatcherContext)
{
LOG4CPLUS_DEBUG(logger,"Possiblility of a crash");
return ExceptionContinueExecution;
}
i am registering the exception as follows :
void func foo(){
EXCEPTION_REGISTRATION reg, *preg = ®
reg.handler = (DWORD)myHandler;
DWORD prev;
_asm {
mov EAX,FS:[0];
mov prev,EAX;
}
reg.prev = (EXCEPTION_REGISTRATION*)prev;
_asm {
mov EAX,preg;
mov FS:[0],EAX;
}
}
This is actually in a DLL file. After the execution of this function,
the code exits. This code is running on a web server, if there are no
exceptions, it should not exit. Any idea why this is happening?
Regards,
Deepak Srivastav
I am using my own exception handler whose code is as shown below.
struct EXCEPTION_REGISTRATION {
EXCEPTION_REGISTRATION *prev;
DWORD handler;
};
EXCEPTION_DISPOSITION myHandler(_EXCEPTION_RECORD *ExcRecord, void
*EstablisherFrame, _CONTEXT *ContextRecord,void * DispatcherContext)
{
LOG4CPLUS_DEBUG(logger,"Possiblility of a crash");
return ExceptionContinueExecution;
}
i am registering the exception as follows :
void func foo(){
EXCEPTION_REGISTRATION reg, *preg = ®
reg.handler = (DWORD)myHandler;
DWORD prev;
_asm {
mov EAX,FS:[0];
mov prev,EAX;
}
reg.prev = (EXCEPTION_REGISTRATION*)prev;
_asm {
mov EAX,preg;
mov FS:[0],EAX;
}
}
This is actually in a DLL file. After the execution of this function,
the code exits. This code is running on a web server, if there are no
exceptions, it should not exit. Any idea why this is happening?
Regards,
Deepak Srivastav