Exemplo n.º 1
0
void DebugEventSource::SendModuleUnloadEvent(Module* pModule)
{
    if(!EventEnabled(DEBUG_EVENT_TYPE_UNLOAD_MODULE))
        return;
    DebugEventPayload payload;
    payload.type = DEBUG_EVENT_TYPE_UNLOAD_MODULE;
    payload.ModuleLoadUnload.pModuleHeader = (CORDB_ADDRESS)pModule->GetModuleHeader();
    SendRawEvent(&payload);
}
Exemplo n.º 2
0
void DebugEventSource::SendExceptionFirstPassFrameEnteredEvent(CORDB_ADDRESS ipInFrame, CORDB_ADDRESS frameSP)
{
    if(!EventEnabled(DEBUG_EVENT_TYPE_EXCEPTION_FIRST_PASS_FRAME_ENTER))
        return;
    DebugEventPayload payload;
    payload.type = DEBUG_EVENT_TYPE_EXCEPTION_FIRST_PASS_FRAME_ENTER;
    payload.Exception.ip = ipInFrame;
    payload.Exception.sp = frameSP;
    SendRawEvent(&payload);
}
Exemplo n.º 3
0
void DebugEventSource::SendExceptionUnhandledEvent()
{
    if(!EventEnabled(DEBUG_EVENT_TYPE_EXCEPTION_UNHANDLED))
        return;
    DebugEventPayload payload;
    payload.type = DEBUG_EVENT_TYPE_EXCEPTION_UNHANDLED;
    payload.Exception.ip = (CORDB_ADDRESS)0;
    payload.Exception.sp = (CORDB_ADDRESS)0;
    SendRawEvent(&payload);
}
Exemplo n.º 4
0
void DebugEventSource::SendExceptionCatchHandlerFoundEvent(CORDB_ADDRESS handlerIP, CORDB_ADDRESS HandlerFrameSP)
{
    if(!EventEnabled(DEBUG_EVENT_TYPE_EXCEPTION_CATCH_HANDLER_FOUND))
        return;
    DebugEventPayload payload;
    payload.type = DEBUG_EVENT_TYPE_EXCEPTION_CATCH_HANDLER_FOUND;
    payload.Exception.ip = handlerIP;
    payload.Exception.sp = HandlerFrameSP;
    SendRawEvent(&payload);
}
Exemplo n.º 5
0
void DebugEventSource::SendExceptionThrownEvent(CORDB_ADDRESS faultingIP, CORDB_ADDRESS faultingFrameSP)
{
    if(!EventEnabled(DEBUG_EVENT_TYPE_EXCEPTION_THROWN))
        return;
    DebugEventPayload payload;
    payload.type = DEBUG_EVENT_TYPE_EXCEPTION_THROWN;
    payload.Exception.ip = faultingIP;
    payload.Exception.sp = faultingFrameSP;
    SendRawEvent(&payload);
}
Exemplo n.º 6
0
void DebugEventSource::SendCustomEvent(void* payload, int length)
{
    if (!EventEnabled(DEBUG_EVENT_TYPE_CUSTOM))
        return;
    DebugEventPayload rawPayload;
    rawPayload.type = DEBUG_EVENT_TYPE_CUSTOM;
    rawPayload.Custom.payload = (CORDB_ADDRESS)payload;
    rawPayload.Custom.length = length;
    SendRawEvent(&rawPayload);
}